/**
 * 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 (min-width: 48em) {
  .contact-index-index .main .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .main .contact-form {
    order: 2; } }

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

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

.contact-index-index .main .contact-form .flex-row .field {
  margin-top: 0; }
  @media (min-width: 40.01em) {
    .contact-index-index .main .contact-form .flex-row .field {
      flex: 1 1 48%; } }
  @media (min-width: 40.01em) {
    .contact-index-index .main .contact-form .flex-row .field:last-child {
      margin-left: 20px; } }

.contact-index-index .main .contact-form .primary {
  text-align: right; }

.contact-index-index .main .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .main .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .main .contact-address {
      order: 1;
      margin-bottom: 35px; } }
  .contact-index-index .main .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .main .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .main .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .main .contact-address p,
    .contact-index-index .main .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .main .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .main .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 .main .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .main .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .main .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 .main .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #B6BEC5;
      border-radius: 25px;
      font-size: 1.6rem;
      position: relative; }
      .cs-addtocart__button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
      .cs-addtocart__button[disabled] span {
        position: relative;
        z-index: 3; }
      .cs-addtocart__button[disabled]:before {
        background-color: #B6BEC5;
        border: 1px solid #B6BEC5;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 25px;
        z-index: 2; }
      .cs-addtocart__button[disabled]:after {
        background-color: #B6BEC5;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 4px;
        left: 0;
        border-radius: 25px;
        z-index: 1; }
      .cs-addtocart__button[disabled] * {
        color: #ffffff;
        fill: #ffffff; }
    .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: 0;
  padding-bottom: 5px;
  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__item:visited:hover:not(:last-child):after, .cs-breadcrumbs__item:hover:not(:last-child):after {
      position: absolute;
      top: 50%;
      right: 0.8em;
      content: '';
      width: 5px;
      height: 100%;
      transform: translateY(-50%);
      line-height: 1;
      background: url("../images/icons/arrow-right-grey@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: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: #3E3E3E; }
      .cs-breadcrumbs__link:visited:hover:after, .cs-breadcrumbs__link:hover:after {
        background: #3E3E3E; }
  .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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  .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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-button-component[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  @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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .button.secondary[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .button.primary[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.button-sm {
  max-width: 140px;
  font-size: 1.4rem; }

.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; }
  @media (min-width: 40em) {
    .links-list {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap; } }
  @media (max-width: 40em) {
    .links-list {
      flex-wrap: wrap;
      margin-bottom: 5px; } }
  @media (max-width: 40em) {
    .links-list:not(.slick-initialized) .links-list__item:not(:first-child) {
      display: none; } }
  .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.3px;
    padding: 21px 10px 12px; }
    .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 (min-width: 48em) {
  .contact-index-index .main .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .main .contact-form {
    order: 2; } }

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

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

.contact-index-index .main .contact-form .flex-row .field {
  margin-top: 0; }
  @media (min-width: 40.01em) {
    .contact-index-index .main .contact-form .flex-row .field {
      flex: 1 1 48%; } }
  @media (min-width: 40.01em) {
    .contact-index-index .main .contact-form .flex-row .field:last-child {
      margin-left: 20px; } }

.contact-index-index .main .contact-form .primary {
  text-align: right; }

.contact-index-index .main .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .main .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .main .contact-address {
      order: 1;
      margin-bottom: 35px; } }
  .contact-index-index .main .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .main .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .main .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .main .contact-address p,
    .contact-index-index .main .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .main .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .main .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 .main .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .main .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .main .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 .main .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-cookie-message__button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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::-webkit-input-placeholder, .cs-field__textarea::-webkit-input-placeholder, .cs-input__input::-webkit-input-placeholder, .cs-input__textarea::-webkit-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .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::-webkit-input-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .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::-webkit-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .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;
  overflow: hidden;
  padding: 0 0 2rem;
  position: relative; }
  @media (max-width: 48em) {
    .cs-footer {
      padding: 0; } }
  .cs-footer:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 43%;
    height: 100%;
    content: '';
    background: #000; }
  .cs-footer:after {
    background: #000 url("../images/footer-banner.jpg") no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 57%;
    height: 100%;
    content: ''; }
  @media (max-width: 48em) {
    .cs-footer:before, .cs-footer:after {
      display: none; } }
  @media (min-width: 48.01em) {
    .cs-footer {
      background-position-x: 43vw;
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0;
    position: relative;
    z-index: 2; }
    @media (min-width: 48.01em) {
      .cs-footer__content {
        display: flex;
        flex-wrap: wrap;
        padding-top: 3.8rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
    @media (max-width: 48em) {
      .cs-footer__content {
        flex-direction: column; } }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 48em) {
      .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: 48.01em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: auto;
      flex-grow: 1; } }
  @media (max-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      background: #000;
      padding: 25px 10px 30px; }
      .cs-footer__item--links .cs-footer__section {
        flex: 1 1 33%;
        max-width: 260px;
        padding-left: 10px; } }
  @media (min-width: 48.01em) {
    .cs-footer__item--extras {
      display: flex;
      justify-content: flex-end;
      align-items: flex-end;
      flex-direction: column;
      flex-basis: 34%;
      flex-grow: 1; } }
  @media (max-width: 48em) {
    .cs-footer__item--extras {
      padding: 25px 20px 25px;
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      background: #000 url("../images/footer-banner.jpg") no-repeat;
      background-size: cover; } }
  @media (max-width: 40em) {
    .cs-footer__item--extras {
      flex-direction: column; } }
  @media (min-width: 48.01em) {
    .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 6px;
      font-size: 24px;
      font-weight: bold;
      text-transform: uppercase;
      color: #ffffff;
      line-height: 28px;
      padding: 1px 0 0 28px; }
      @media (max-width: 48em) {
        .cs-footer__section--newsletter .top-links__phone-icon {
          font-size: 18px;
          background-size: 16px;
          background-position: left 7px; } }
    @media (min-width: 48.01em) {
      .cs-footer__section--newsletter h3 {
        margin-top: 18px; } }
    .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: 48em) {
          .cs-footer__section--newsletter .cs-newsletter p {
            font-size: 1.2rem; } }
    @media (min-width: 48.01em) {
      .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: none;
    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: 48em) {
      .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: 48em) {
      .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: 48em) {
      .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-footer .social-links {
    list-style: none;
    padding: 0;
    margin: 15px 0 0; }
    @media (min-width: 48.01em) {
      .cs-footer .social-links {
        align-self: flex-end;
        max-width: 615px;
        width: 100%; } }
    @media (max-width: 48em) {
      .cs-footer .social-links {
        width: 36%;
        text-align: right;
        padding-bottom: 10px; } }
    @media (max-width: 40em) {
      .cs-footer .social-links {
        width: 100%;
        text-align: left; } }
    .cs-footer .social-links li {
      display: inline-block; }
    .cs-footer .social-links__link {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center; }
      .cs-footer .social-links__link:after {
        content: '';
        display: block;
        background-size: contain;
        background-position: center;
        width: 44px;
        height: 44px; }
    .cs-footer .social-links .social-facebook:after {
      background: url("../images/icons/facebook@1x.svg") no-repeat; }
    .cs-footer .social-links .social-youtube:after {
      background: url("../images/icons/youtube@1x.svg") no-repeat;
      margin-left: 13px; }
    .cs-footer .social-links .social-instagram:after {
      background: url("../images/icons/instagram@1x.svg") no-repeat;
      margin-left: 13px; }

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

.u-float-right {
  float: right; }

.u-float-left {
  float: left; }

.clearfix, .Landing-page-view__locations .row {
  display: flow-root; }

.Landing-page-view__product {
  width: calc(100% - 45.5%); }

.Landing-page-view__product-image {
  max-width: 500px; }

.Landing-page-view__sales-copy {
  width: 45.5%; }
  .Landing-page-view__sales-copy .cms-floating-image {
    float: right;
    margin: 0 0 50px 50px; }

.Landing-page-view__locations {
  clear: both;
  padding-top: 30px; }
  .Landing-page-view__locations h3 {
    text-transform: uppercase; }
  .Landing-page-view__locations .row {
    clear: both;
    margin-bottom: 15px; }

.Landing-page-view__location {
  border: 1px solid #eee;
  float: left;
  margin-right: 1.69492%;
  padding: 15px;
  width: 32.20339%; }
  .Landing-page-view__location:last-child {
    margin-right: 0; }
  .Landing-page-view__location a {
    color: #FF7442;
    text-decoration: underline; }

.Landing-page-view__cta-call.h2 {
  font-size: 1.6em;
  text-align: center; }
  .Landing-page-view__cta-call.h2 a {
    color: #FF7442;
    text-decoration: underline; }

/**
 * 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;
    text-transform: uppercase;
    margin-top: 6px; }
    @media (max-width: 48em) {
      .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: 48.01em) {
      .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: 11px 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] {
        cursor: auto;
        background-color: #a6e5b5;
        position: relative; }
        .cs-grid-layout__teaser-cta-button[disabled] span.cs-header-search__button-label {
          z-index: 2;
          position: relative; }
      .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-banner.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; } }
  @media (max-width: 48em) {
    .cs-header {
      padding-bottom: 9px;
      margin-bottom: 61px; } }
  .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: -20px;
        max-width: 310px;
        width: 25vw;
        margin-left: 19px; } }
    @media (max-width: 63.99em) {
      .cs-header__logo .cs-logo {
        max-width: 195px;
        margin-top: 0; } }
    @media (max-width: 48em) {
      .cs-header__logo .cs-logo {
        max-width: 225px;
        margin-top: -20px; } }
    @media (max-width: 40em) {
      .cs-header__logo .cs-logo {
        max-width: 185px;
        margin-top: -2px; } }
    .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%; }
  .cs-header__search {
    display: block;
    width: 100%;
    background-color: #6E6E6E;
    padding: 1.2rem 2.4rem;
    position: absolute;
    top: 58px;
    left: 0;
    right: 0;
    z-index: 300;
    margin-right: -6.8rem; }
    @media (max-width: 40em) {
      .cs-header__search {
        padding: 1.2rem 1.5rem; } }
    @media (min-width: 48.01em) {
      .cs-header__search {
        top: 64px; } }
    @media (min-width: 64em) {
      .cs-header__search {
        flex-grow: 1;
        width: auto;
        padding: 0 25px 0 45px;
        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 27%; } }
  .cs-header .top-links__phone-icon {
    letter-spacing: 0.4px;
    background: url("../images/icons/telephone66.svg") no-repeat;
    background-size: 18px;
    background-position: left 46%;
    font-size: 23px;
    font-weight: bold;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 28px;
    padding: 18px 15px 0 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%; } }
  .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::-webkit-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-header-search__button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .cs-header-search__button[disabled] {
      opacity: 1;
      background-color: #FF4604; }
  .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: 365px; } }
  .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: 10px; } }

.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__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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #B6BEC5;
    border-radius: 25px;
    font-size: 1.6rem;
    position: relative; }
    .cs-minicart__button-checkout[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
    .cs-minicart__button-checkout[disabled] span {
      position: relative;
      z-index: 3; }
    .cs-minicart__button-checkout[disabled]:before {
      background-color: #B6BEC5;
      border: 1px solid #B6BEC5;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 25px;
      z-index: 2; }
    .cs-minicart__button-checkout[disabled]:after {
      background-color: #B6BEC5;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 4px;
      left: 0;
      border-radius: 25px;
      z-index: 1; }
    .cs-minicart__button-checkout[disabled] * {
      color: #ffffff;
      fill: #ffffff; }
  .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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-minicart__button-carousel[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  .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::-webkit-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-minicart-product__qty-button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
  .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 a,
.modal-popup a,
.modal-custom a {
  text-decoration: underline; }

.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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .modal-slide .modal-footer .action-primary[disabled] span.cs-header-search__button-label,
      .modal-slide .modal-footer .primary[disabled] span.cs-header-search__button-label,
      .modal-popup .modal-footer .action-primary[disabled] span.cs-header-search__button-label,
      .modal-popup .modal-footer .primary[disabled] span.cs-header-search__button-label,
      .modal-custom .modal-footer .action-primary[disabled] span.cs-header-search__button-label,
      .modal-custom .modal-footer .primary[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .modal-slide .modal-footer .action-secondary[disabled] span.cs-header-search__button-label,
      .modal-slide .modal-footer .secondary[disabled] span.cs-header-search__button-label,
      .modal-popup .modal-footer .action-secondary[disabled] span.cs-header-search__button-label,
      .modal-popup .modal-footer .secondary[disabled] span.cs-header-search__button-label,
      .modal-custom .modal-footer .action-secondary[disabled] span.cs-header-search__button-label,
      .modal-custom .modal-footer .secondary[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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: 11px 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] {
        cursor: auto;
        background-color: #a6e5b5;
        position: relative; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary[disabled] span.cs-header-search__button-label, body.checkout-index-index
        .modal-slide .modal-footer .secondary[disabled] span.cs-header-search__button-label, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary[disabled] span.cs-header-search__button-label, body.checkout-index-index
        .modal-popup .modal-footer .secondary[disabled] span.cs-header-search__button-label, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary[disabled] span.cs-header-search__button-label, body.checkout-index-index
        .modal-custom .modal-footer .secondary[disabled] span.cs-header-search__button-label {
          z-index: 2;
          position: relative; }
      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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .modal-slide .modal-footer button:only-child[disabled] span.cs-header-search__button-label,
      .modal-popup .modal-footer button:only-child[disabled] span.cs-header-search__button-label,
      .modal-custom .modal-footer button:only-child[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .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: none;
  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 a {
  text-decoration: underline; }

#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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    #bss_ajaxcart_popup .btn-viewcart button.viewcart[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  #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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    #bss_ajaxcart_popup .btn-continue button.continue[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  #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: #FF4604 !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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .popup-authentication .actions-toolbar .action-login[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }

.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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-navigation-teaser__button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.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: 48.01em) {
      .cs-newsletter__form {
        max-width: 34rem; } }
    @media (max-width: 48em) {
      .cs-newsletter__form {
        max-width: 86%; } }
    @media (min-width: 64em) {
      .cs-newsletter__form {
        max-width: 100%; } }
    @media (max-width: 40em) {
      .cs-newsletter__form {
        padding-right: 0 !important;
        max-width: 100%; } }
  .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: 11px 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;
    letter-spacing: 0.6px; }
    .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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-newsletter__button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .cs-newsletter__button-label {
      text-transform: uppercase;
      vertical-align: middle; }
  .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__list--level_1 .cs-offcanvas-navigation__link:not(.cs-offcanvas-navigation__link--return), .cs-offcanvas-navigation__list--level_1 .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:not(.cs-offcanvas-navigation__link--return), .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .cs-offcanvas-navigation__list--level_1 a:not(.cs-offcanvas-navigation__link--return), .cs-offcanvas-navigation__list--level_2 .cs-offcanvas-navigation__link:not(.cs-offcanvas-navigation__link--return), .cs-offcanvas-navigation__list--level_2 .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:not(.cs-offcanvas-navigation__link--return), .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .cs-offcanvas-navigation__list--level_2 a:not(.cs-offcanvas-navigation__link--return) {
      font-weight: 400; }
  .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 {
    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 .page-title-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center; }
  .cs-page-teaser--container .cms-page__teaser > picture,
  .cs-page-teaser--container .cms-page__teaser > img {
    display: none;
    visibility: hidden; }
  @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: none;
  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]
*/
.grid-container {
  box-sizing: border-box;
  display: flex;
  margin-left: -10px;
  margin-right: -10px; }
  .grid-container.layout-column {
    flex-direction: column; }
  .grid-container .col-1 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 10% - 20px);
    width: calc( 10% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-2 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 20% - 20px);
    width: calc( 20% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-3 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 30% - 20px);
    width: calc( 30% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-4 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 40% - 20px);
    width: calc( 40% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-5 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 50% - 20px);
    width: calc( 50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-6 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 60% - 20px);
    width: calc( 60% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-7 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 70% - 20px);
    width: calc( 70% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-8 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 80% - 20px);
    width: calc( 80% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-9 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 90% - 20px);
    width: calc( 90% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container .col-10 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 100% - 20px);
    width: calc( 100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  @media (min-width: 48.01em) {
    .grid-container > .lg__col-1 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 10% - 20px);
      width: calc( 10% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-2 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 20% - 20px);
      width: calc( 20% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-3 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 30% - 20px);
      width: calc( 30% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-4 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 40% - 20px);
      width: calc( 40% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-5 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 50% - 20px);
      width: calc( 50% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-6 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 60% - 20px);
      width: calc( 60% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-7 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 70% - 20px);
      width: calc( 70% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-8 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 80% - 20px);
      width: calc( 80% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-9 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 90% - 20px);
      width: calc( 90% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; }
    .grid-container > .lg__col-10 {
      box-sizing: border-box;
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc( 100% - 20px);
      width: calc( 100% - 20px);
      margin-left: 10px;
      margin-right: 10px;
      margin-bottom: 20px; } }

@media (max-width: 48em) and (min-width: 40.01em) {
  .grid-container > .md__col-1 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 10% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-2 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 20% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-3 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 30% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-4 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 40% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-5 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-6 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 60% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-7 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 70% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-8 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 80% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-9 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 90% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; }
  .grid-container > .md__col-10 {
    box-sizing: border-box;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc( 100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px; } }
  @media (max-width: 40em) {
    .grid-container {
      flex-direction: column;
      flex-wrap: wrap; }
      .grid-container > .sm__col-1 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 10% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-2 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 20% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-3 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 30% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-4 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 40% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-5 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 50% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-6 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 60% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-7 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 70% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-8 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 80% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-9 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 90% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; }
      .grid-container > .sm__col-10 {
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: calc( 100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 20px; } }

.content-short {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 10px; }

.v-align {
  display: flex;
  flex-direction: column;
  justify-content: center; }

.narrow-content {
  max-width: 860px !important;
  margin: 20px auto; }

.columns .column.main {
  width: auto;
  padding: 0 !important;
  max-width: 100%;
  min-height: 10rem; }
  @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; }

.content-row .container {
  display: flex; }
  .content-row .container.row {
    flex-direction: row;
    flex-wrap: nowrap;
    margin-left: -10px;
    margin-right: -10px; }
  .content-row .container.column {
    flex-direction: column; }

/**
 * 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 .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; }

.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: row; }
      .cs-product-tile__price .price-box .price-label {
        margin: 0 3px 0 0;
        line-height: 18px; }
      .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-pwa-notification-panel__button--accept[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-pwa-notification-panel__button--decline[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .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::-webkit-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .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;
        letter-spacing: 0.5px; }
        .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: 10px 28px 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: none;
  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: none;
  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: none;
  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: none;
  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: none;
  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: none;
  margin: 1rem 0 2rem; }

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

a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: #FF4604;
  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
 */
/**
 * 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-product-navigation {
  display: flex;
  align-items: center;
  margin: -4rem 0 0;
  height: 5rem;
  border-bottom: 1px solid #dcdcdc; }
  .cs-product-navigation--initialized .cs-product-navigation__list {
    opacity: 1; }
  .cs-product-navigation__list {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em 0;
    opacity: 0;
    transition: opacity 0.3s; }
  .cs-product-navigation__link {
    display: none;
    text-transform: uppercase;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 0.5em 2em; }
    .cs-product-navigation__link--active {
      display: block; }
    .cs-product-navigation__link--category, .cs-product-navigation__link--search, .cs-product-navigation__link--prev {
      text-align: left;
      position: relative; }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:before, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:before, .cs-product-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 1px;
        left: auto;
        background-color: #212121;
        transition: background-color 0 linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-navigation__link--category:hover:before, .cs-product-navigation__link--category:hover:after, .cs-product-navigation__link--search:hover:before, .cs-product-navigation__link--search:hover:after, .cs-product-navigation__link--prev:hover:before, .cs-product-navigation__link--prev:hover:after {
        background-color: #FF7442; }
      .cs-product-navigation__link--category[aria-expanded="true"]:before, .cs-product-navigation__link--category[aria-expanded="true"]:after, .cs-product-navigation__link--search[aria-expanded="true"]:before, .cs-product-navigation__link--search[aria-expanded="true"]:after, .cs-product-navigation__link--prev[aria-expanded="true"]:before, .cs-product-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--search:before, .cs-product-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:after {
        right: calc( 1.5rem + 1.2rem - 0.4rem);
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-product-navigation__link--category[aria-expanded="true"]:before, .cs-product-navigation__link--search[aria-expanded="true"]:before, .cs-product-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 1.5rem; }
      .cs-product-navigation__link--category[aria-expanded="true"]:after, .cs-product-navigation__link--search[aria-expanded="true"]:after, .cs-product-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--category:before, .cs-product-navigation__link--category:after, .cs-product-navigation__link--search:before, .cs-product-navigation__link--search:after, .cs-product-navigation__link--prev:before, .cs-product-navigation__link--prev:after {
        left: 0;
        right: auto; }
    .cs-product-navigation__link--next {
      text-align: right;
      position: relative; }
      .cs-product-navigation__link--next:before, .cs-product-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 1px;
        left: auto;
        background-color: #212121;
        transition: background-color 0 linear;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-product-navigation__link--next:hover:before, .cs-product-navigation__link--next:hover:after {
        background-color: #FF7442; }
      .cs-product-navigation__link--next[aria-expanded="true"]:before, .cs-product-navigation__link--next[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-product-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 0; }
      .cs-product-navigation__link--next:after {
        right: 0;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-product-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: calc( 1.5rem + 1.2rem - 0.4rem); }
      .cs-product-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 0; }
    .cs-product-navigation__link, .cs-product-navigation__link:visited {
      color: #212121; }

.cs-container--page-pdp-product-nav {
  margin-bottom: 2rem; }
  @media (min-width: 48.01em) {
    .cs-container--page-pdp-product-nav {
      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]
*/
/* 
 * 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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-pwa-notification__button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  .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]
*/
/**
 * 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-brand-carousel__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-brand-carousel__slide {
  float: left; }

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

.swiper-wrapper, .cs-brand-carousel__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-brand-carousel__slide, .swiper-wrapper, .cs-brand-carousel__slides {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper, .swiper-container-multirow > .cs-brand-carousel__slides {
  flex-wrap: wrap; }

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

.swiper-slide, .cs-brand-carousel__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-brand-carousel__slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper, .swiper-container-autoheight .cs-brand-carousel__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-brand-carousel__slides,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .cs-brand-carousel__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-brand-carousel__slides {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper,
.swiper-container-wp8-vertical > .cs-brand-carousel__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-brand-carousel__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-brand-carousel__scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

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

.swiper-scrollbar-drag, .cs-brand-carousel__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-brand-carousel__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-brand-carousel__slide {
  transition-timing-function: ease-out; }

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

.swiper-container-fade .swiper-slide .swiper-slide, .swiper-container-fade .cs-brand-carousel__slide .swiper-slide, .swiper-container-fade .swiper-slide .cs-brand-carousel__slide, .swiper-container-fade .cs-brand-carousel__slide .cs-brand-carousel__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-brand-carousel__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-brand-carousel__slide .swiper-slide, .swiper-container-cube .swiper-slide .cs-brand-carousel__slide, .swiper-container-cube .cs-brand-carousel__slide .cs-brand-carousel__slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide, .swiper-container-cube.swiper-container-rtl .cs-brand-carousel__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-brand-carousel__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-brand-carousel__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-brand-carousel__slide .swiper-slide, .swiper-container-flip .swiper-slide .cs-brand-carousel__slide, .swiper-container-flip .cs-brand-carousel__slide .cs-brand-carousel__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-brand-carousel__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 */
.cs-container--brand-carousel {
  margin: 0 auto; }

.cs-brand-carousel {
  position: relative;
  margin: 15px 0;
  position: relative; }
  .cs-brand-carousel__slides {
    align-items: stretch;
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  .cs-brand-carousel__slide {
    margin: 0;
    padding: 0;
    list-style: none;
    height: auto;
    display: flex;
    justify-content: center; }
  .cs-brand-carousel__figure {
    width: 100%;
    margin: 0;
    padding: 0; }
  .cs-brand-carousel__image {
    display: block;
    width: 100%; }
  .cs-brand-carousel__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-brand-carousel__nav {
    opacity: 1; }
    .cs-brand-carousel:hover .cs-brand-carousel__nav {
      opacity: 1; } }
    .cs-brand-carousel__nav--hidden {
      display: none; }
    .cs-brand-carousel__nav--disabled {
      cursor: default;
      display: none;
      opacity: 1; }
    .cs-brand-carousel__nav--prev {
      left: 0; }
      @media (min-width: 80em) {
        .cs-brand-carousel:not(.cs-brand-carousel--full-width-slider) .cs-brand-carousel__nav--prev {
          left: -2.75rem;
          opacity: 1; } }
    .cs-brand-carousel__nav--next {
      right: 0; }
      @media (min-width: 80em) {
        .cs-brand-carousel:not(.cs-brand-carousel--full-width-slider) .cs-brand-carousel__nav--next {
          right: -2.75rem;
          opacity: 1; } }
    .cs-brand-carousel--ready .cs-brand-carousel__nav:not(.cs-brand-carousel__nav--disabled) {
      display: block; }
    .cs-brand-carousel__nav:hover, .cs-brand-carousel__nav:active, .cs-brand-carousel__nav:focus {
      background: transparent;
      border: 0;
      box-shadow: none; }
    @media (max-width: 47.99em) {
      .cs-brand-carousel__nav {
        display: none !important; } }
  .cs-brand-carousel__nav-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2.4rem;
    height: 3.7rem;
    fill: #FF4604; }
  .cs-brand-carousel__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-brand-carousel__pagination--hidden {
      display: none; }
  .cs-brand-carousel__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-brand-carousel__pagination-item:hover {
      background: #dcdcdc; }
    .cs-brand-carousel__pagination-item--active, .cs-brand-carousel__pagination-item--active:hover {
      background: #fed400; }
  .cs-brand-carousel__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-brand-carousel__number {
    font-weight: 700; }
    .cs-brand-carousel__number--current {
      color: #FF4604; }
  @media (max-width: 47.99em) {
    .cs-brand-carousel {
      padding: 0 25px; } }
  @media (max-width: 39.99em) {
    .cs-brand-carousel {
      padding: 0 20px; } }
  .cs-brand-carousel__carousel {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-brand-carousel--slider .cs-brand-carousel__carousel {
        padding: 0 3.8rem; } }
  .cs-brand-carousel__slides {
    align-items: center;
    justify-content: center; }
    .cs-brand-carousel--slider .cs-brand-carousel__slides {
      justify-content: space-between; }
  .cs-brand-carousel__slide {
    min-width: 3rem;
    max-width: none;
    width: auto;
    margin: 0 2rem 0 0; }
    .cs-brand-carousel__slide:last-child,
    .cs-brand-carousel--slider .cs-brand-carousel__slide {
      margin-right: 0; }
  .cs-brand-carousel__image {
    width: auto;
    max-width: 100%;
    max-height: 8.5rem; }
  .cs-brand-carousel__nav {
    z-index: 3;
    box-shadow: none !important;
    width: 3.5rem; }
    .cs-brand-carousel:not(.cs-brand-carousel--slider) .cs-brand-carousel__nav {
      display: none; }
    .cs-brand-carousel__nav:hover, .cs-brand-carousel__nav:active, .cs-brand-carousel__nav:focus {
      background: transparent;
      border: none;
      box-shadow: none; }
    .cs-brand-carousel__nav-icon {
      width: 1.4rem;
      height: 2.7rem; }
      @media (max-width: 39.99em) {
        .cs-brand-carousel__nav-icon {
          width: 9px !important; } }
    .cs-brand-carousel__nav--prev {
      left: 0 !important; }
      @media (max-width: 47.99em) {
        .cs-brand-carousel__nav--prev {
          display: block !important;
          opacity: 1 !important;
          width: 2.5rem; } }
      @media (max-width: 39.99em) {
        .cs-brand-carousel__nav--prev {
          left: -10px !important; } }
    .cs-brand-carousel__nav--next {
      right: 0 !important; }
      @media (max-width: 47.99em) {
        .cs-brand-carousel__nav--next {
          display: block !important;
          opacity: 1 !important;
          width: 2.5rem; } }
      @media (max-width: 39.99em) {
        .cs-brand-carousel__nav--next {
          right: -10px !important; } }
  @media (min-width: 48em) {
    .cs-brand-carousel__pagination {
      display: none; } }
  .cs-brand-carousel__pagination:not(:empty) {
    margin-top: 1.5rem; }
  .cs-brand-carousel--static {
    width: 100%;
    padding: 0; }

.slick-slider {
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-touch-action: pan-y;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none; }

.slick-list {
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-track {
  display: block;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 0; }
  .slick-track:before, .slick-track:after {
    content: '';
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  [dir='rtl'] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    border: 1px solid transparent;
    display: block;
    height: auto; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-arrow.slick-hidden {
  display: none; }

.slick-prev {
  left: -1.2rem;
  background-image: url("../images/icons/arrow-left-2@1x.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent; }

.slick-next {
  right: -1.2rem;
  background-image: url("../images/icons/arrow-right@1x.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent; }

.slick-prev,
.slick-next {
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  background-size: 11px;
  background-position: center;
  border: none;
  border-radius: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 44px;
  line-height: 0;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: 44px;
  z-index: 101; }
  .slick-prev.slick-disabled,
  .slick-next.slick-disabled {
    opacity: .2; }
  .slick-prev:hover,
  .slick-next:hover {
    border: none; }
    .slick-prev:hover.slick-disabled,
    .slick-next:hover.slick-disabled {
      opacity: .2; }
  .slick-prev:before, .slick-prev:after,
  .slick-next:before,
  .slick-next:after {
    opacity: 1; }
  .slick-prev:active, .slick-prev:focus, .slick-prev:not(.primary),
  .slick-next:active,
  .slick-next:focus,
  .slick-next:not(.primary) {
    border: none;
    box-shadow: none; }
    .slick-prev:active:active, .slick-prev:focus:active, .slick-prev:not(.primary):active,
    .slick-next:active:active,
    .slick-next:focus:active,
    .slick-next:not(.primary):active {
      box-shadow: 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]
*/
/**
 * Flex Grid -
 * Version: 0.3.5
 *
 * Simple grid built with flex box and sass.
 *
 * Matthew Simo - matthew.a.simo@gmail.com
 */
/**
 * Grid setup
 *
 * The grid will calculate dimensions based on these two variables:
 * $fg-columns will inform the grid loops how many columns there should be.
 * $fg-gutter will inform the grid loops how big eac column's gutters should be.
 *
 * The grid will name columns, rows, offsets based on these three variables:
 * $fg-class-row string used for the row class
 * $fg-class-col string used for the column class
 * $fg-class-off string used for the offset class
 */
/**
 * Break point namespace object
 *
 * Set the default namespace object with these defaults with the
 * understanding that you can pass in whatever you might require for your site.
 *
 * $fg-breakpoints is a Sass list with nested lists inside. Each sub list defines two things.
 * 1. The namespace for that breakpoint. (Required) (i.e. xs, sm, md, lg)
 * 2. The min-width measurement for the breakpoint for that namespace. (i.e. 48em, 62em, 75em)
 *
 * Note: These should be in the proper order (at least till libsass handles map keys properly).
 *
 * Note: If the measurement is left out then it will be skipped when generating
 * the grid and applied to global styles.
 *
 */
/**
 * Class Name Defaults
 *
 * Define class names for columns, rows and offsets in case compatibility with other
 * libraries is necessary.
/**
 * Calculate column size percentage
 */
/**
 * Spacing mixin to create uniform margin/padding
 */
/**
 * Row wrapper class, flex box parent.
 */
.row-flex {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -1.1rem;
  margin-right: -1.1rem; }

.col-flex-xs, .col-flex-sm, .col-flex-md, .col-flex-lg, .col-flex-xs-1, .col-flex-xs-2, .col-flex-xs-3, .col-flex-xs-4, .col-flex-xs-5, .col-flex-xs-6, .col-flex-xs-7, .col-flex-xs-8, .col-flex-xs-9, .col-flex-xs-10, .col-flex-xs-11, .col-flex-xs-12, .col-flex-sm-1, .col-flex-sm-2, .col-flex-sm-3, .col-flex-sm-4, .col-flex-sm-5, .col-flex-sm-6, .col-flex-sm-7, .col-flex-sm-8, .col-flex-sm-9, .col-flex-sm-10, .col-flex-sm-11, .col-flex-sm-12, .col-flex-md-1, .col-flex-md-2, .col-flex-md-3, .col-flex-md-4, .col-flex-md-5, .col-flex-md-6, .col-flex-md-7, .col-flex-md-8, .col-flex-md-9, .col-flex-md-10, .col-flex-md-11, .col-flex-md-12, .col-flex-lg-1, .col-flex-lg-2, .col-flex-lg-3, .col-flex-lg-4, .col-flex-lg-5, .col-flex-lg-6, .col-flex-lg-7, .col-flex-lg-8, .col-flex-lg-9, .col-flex-lg-10, .col-flex-lg-11, .col-flex-lg-12 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  min-height: 1px;
  padding-left: 1.1rem;
  padding-right: 1.1rem; }

.col-flex-xs, .col-flex-sm, .col-flex-md, .col-flex-lg {
  flex-grow: 1;
  flex-basis: 0;
  max-width: 100%; }

/**
 * Generate a set of grid column classes using a namespace
 *
 * .col-flex-[namespace] for intelligent column division
 * .col-flex-[namespace]-[number] for a column that covers a specific number of columns (e.g. 1-12 by default)
 * .off-[namespace]-[number] for pushing a col a specific number of columns (e.g. 1-11 by default)
 * .off-[namespace]-reset for resetting a col's offset for that and larger namespaces
 */
/**
 * Build the grid in two steps, to help minimize file size
 * Step 1, for each namespace, create the grid-base
 * Step 2, for each namespace, wrap the col width/offset measurements in their breakpoint media query
 */
.col-flex-xs-1 {
  flex-basis: 8.33333%;
  max-width: 8.33333%; }

.col-flex-xs-2 {
  flex-basis: 16.66667%;
  max-width: 16.66667%; }

.col-flex-xs-3 {
  flex-basis: 25%;
  max-width: 25%; }

.col-flex-xs-4 {
  flex-basis: 33.33333%;
  max-width: 33.33333%; }

.col-flex-xs-5 {
  flex-basis: 41.66667%;
  max-width: 41.66667%; }

.col-flex-xs-6 {
  flex-basis: 50%;
  max-width: 50%; }

.col-flex-xs-7 {
  flex-basis: 58.33333%;
  max-width: 58.33333%; }

.col-flex-xs-8 {
  flex-basis: 66.66667%;
  max-width: 66.66667%; }

.col-flex-xs-9 {
  flex-basis: 75%;
  max-width: 75%; }

.col-flex-xs-10 {
  flex-basis: 83.33333%;
  max-width: 83.33333%; }

.col-flex-xs-11 {
  flex-basis: 91.66667%;
  max-width: 91.66667%; }

.col-flex-xs-12 {
  flex-basis: 100%;
  max-width: 100%; }

.off-xs-1 {
  margin-left: 8.33333%; }

.off-xs-2 {
  margin-left: 16.66667%; }

.off-xs-3 {
  margin-left: 25%; }

.off-xs-4 {
  margin-left: 33.33333%; }

.off-xs-5 {
  margin-left: 41.66667%; }

.off-xs-6 {
  margin-left: 50%; }

.off-xs-7 {
  margin-left: 58.33333%; }

.off-xs-8 {
  margin-left: 66.66667%; }

.off-xs-9 {
  margin-left: 75%; }

.off-xs-10 {
  margin-left: 83.33333%; }

.off-xs-11 {
  margin-left: 91.66667%; }

.off-xs-reset {
  margin-left: 0; }

@media only screen and (min-width: 768px) {
  .col-flex-sm-1 {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .col-flex-sm-2 {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .col-flex-sm-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .col-flex-sm-4 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .col-flex-sm-5 {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .col-flex-sm-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .col-flex-sm-7 {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .col-flex-sm-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .col-flex-sm-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .col-flex-sm-10 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .col-flex-sm-11 {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }
  .col-flex-sm-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .off-sm-1 {
    margin-left: 8.33333%; }
  .off-sm-2 {
    margin-left: 16.66667%; }
  .off-sm-3 {
    margin-left: 25%; }
  .off-sm-4 {
    margin-left: 33.33333%; }
  .off-sm-5 {
    margin-left: 41.66667%; }
  .off-sm-6 {
    margin-left: 50%; }
  .off-sm-7 {
    margin-left: 58.33333%; }
  .off-sm-8 {
    margin-left: 66.66667%; }
  .off-sm-9 {
    margin-left: 75%; }
  .off-sm-10 {
    margin-left: 83.33333%; }
  .off-sm-11 {
    margin-left: 91.66667%; }
  .off-sm-reset {
    margin-left: 0; } }

@media only screen and (min-width: 1024px) {
  .col-flex-md-1 {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .col-flex-md-2 {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .col-flex-md-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .col-flex-md-4 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .col-flex-md-5 {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .col-flex-md-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .col-flex-md-7 {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .col-flex-md-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .col-flex-md-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .col-flex-md-10 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .col-flex-md-11 {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }
  .col-flex-md-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .off-md-1 {
    margin-left: 8.33333%; }
  .off-md-2 {
    margin-left: 16.66667%; }
  .off-md-3 {
    margin-left: 25%; }
  .off-md-4 {
    margin-left: 33.33333%; }
  .off-md-5 {
    margin-left: 41.66667%; }
  .off-md-6 {
    margin-left: 50%; }
  .off-md-7 {
    margin-left: 58.33333%; }
  .off-md-8 {
    margin-left: 66.66667%; }
  .off-md-9 {
    margin-left: 75%; }
  .off-md-10 {
    margin-left: 83.33333%; }
  .off-md-11 {
    margin-left: 91.66667%; }
  .off-md-reset {
    margin-left: 0; } }

@media only screen and (min-width: 1280px) {
  .col-flex-lg-1 {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .col-flex-lg-2 {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .col-flex-lg-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .col-flex-lg-4 {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .col-flex-lg-5 {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .col-flex-lg-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .col-flex-lg-7 {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .col-flex-lg-8 {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .col-flex-lg-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .col-flex-lg-10 {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .col-flex-lg-11 {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }
  .col-flex-lg-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .off-lg-1 {
    margin-left: 8.33333%; }
  .off-lg-2 {
    margin-left: 16.66667%; }
  .off-lg-3 {
    margin-left: 25%; }
  .off-lg-4 {
    margin-left: 33.33333%; }
  .off-lg-5 {
    margin-left: 41.66667%; }
  .off-lg-6 {
    margin-left: 50%; }
  .off-lg-7 {
    margin-left: 58.33333%; }
  .off-lg-8 {
    margin-left: 66.66667%; }
  .off-lg-9 {
    margin-left: 75%; }
  .off-lg-10 {
    margin-left: 83.33333%; }
  .off-lg-11 {
    margin-left: 91.66667%; }
  .off-lg-reset {
    margin-left: 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]
*/
/**
 * 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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  .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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-button-component[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  @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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .button.secondary[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .button.primary[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.button-sm {
  max-width: 140px;
  font-size: 1.4rem; }

.icon__arrow-round-right, .cs-category-links__headline {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center; }
  .icon__arrow-round-right:after, .cs-category-links__headline: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; }
  @media (min-width: 40em) {
    .links-list {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap; } }
  @media (max-width: 40em) {
    .links-list {
      flex-wrap: wrap;
      margin-bottom: 5px; } }
  @media (max-width: 40em) {
    .links-list:not(.slick-initialized) .links-list__item:not(:first-child) {
      display: none; } }
  .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.3px;
    padding: 21px 10px 12px; }
    .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]
*/
/**
 * 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]
*/
/**
 * 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-category-links__figure {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #F4F4F4; }

.cs-category-links__item {
  margin-bottom: 35px; }
  @media (max-width: 40em) {
    .cs-category-links__item {
      margin-bottom: 20px; } }
  .cs-category-links__item > a {
    display: block;
    text-align: center; }

.cs-category-links__image-placeholder-wrapper {
  position: relative;
  padding-bottom: 95%; }
  .cs-category-links__image-placeholder-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto; }

.cs-category-links__headline {
  font-size: 1.8rem;
  color: #000;
  font-weight: bold;
  text-transform: none;
  text-align: center;
  padding: 10px 0;
  margin: 0;
  justify-content: center;
  font-family: "Red Hat Display"; }
  @media (max-width: 40em) {
    .cs-category-links__headline {
      font-size: 1.4rem;
      letter-spacing: 1.2px; }
      .cs-category-links__headline:after {
        overflow: visible;
        width: 22px;
        height: 22px; } }

.cs-category-links__main-widget .row-flex {
  justify-content: center; }

.cs-category-links__main-widget .cs-category-links__subcats {
  background: #F4F4F4; }
  .cs-category-links__main-widget .cs-category-links__subcats li {
    width: 50%;
    background: #F4F4F4;
    text-align: left;
    margin: 0; }
    .cs-category-links__main-widget .cs-category-links__subcats li:nth-child(even) a {
      border-left: 1px solid #fff; }
    .cs-category-links__main-widget .cs-category-links__subcats li a {
      border-top: 1px solid #fff;
      display: block;
      padding: 11px 10px 10px;
      line-height: 20px;
      height: 100%; }
      @media (max-width: 40em) {
        .cs-category-links__main-widget .cs-category-links__subcats li a {
          padding: 6px; } }

.cs-category-links__subcats {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0; }

.cs-category-links__subcat.empty span {
  display: block;
  border-top: 1px solid #fff;
  padding: 10px;
  min-height: 41px;
  line-height: 16px; }

.cs-category-links__subcat.empty:nth-child(even) span {
  border-left: 1px solid #fff; }

.cs-category-links__subcat-label {
  font-size: 1.4rem;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: "Red Hat Display";
  font-weight: bold; }
  @media (max-width: 40em) {
    .cs-category-links__subcat-label {
      font-size: 12px; } }

.cs-category-links--no-subcats {
  margin-bottom: 1em; }

.cs-category-links__landing-block .cs-category-links__item {
  width: 100%; }

.cs-category-links__landing-block .cs-category-links__subcat {
  text-align: center; }
  @media (max-width: 40em) {
    .cs-category-links__landing-block .cs-category-links__subcat {
      padding: 0;
      width: 100%;
      max-width: 100%;
      flex-basis: 100%; } }

.cs-category-links__landing-block .cs-category-links__image-placeholder-wrapper {
  padding-bottom: 59%; }

.cs-category-links__landing-block .cs-category-links__subcat-label {
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: none;
  padding: 10px 0;
  font-weight: bold;
  font-family: "Red Hat Display";
  letter-spacing: 0.5; }
  @media (max-width: 39.99em) {
    .cs-category-links__landing-block .cs-category-links__subcat-label {
      font-size: 1.8rem; } }

@media (min-width: 40em) {
  .cs-category-links__landing-block .cs-category-links__content {
    margin-right: -1rem;
    margin-left: -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]
*/
/**
 * 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-category-links-dropdown {
  position: relative; }
  .cs-category-links-dropdown__trigger {
    position: relative; }
    .cs-category-links-dropdown__trigger:before, .cs-category-links-dropdown__trigger:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 1rem;
      height: 0.2rem;
      left: auto;
      background-color: #FF4604;
      transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-category-links-dropdown__trigger[aria-expanded="true"]:before, .cs-category-links-dropdown__trigger[aria-expanded="true"]:after {
      background-color: #6E6E6E; }
    .cs-category-links-dropdown__trigger:before, .cs-category-links-dropdown__trigger:after {
      right: 0;
      transform: translate3d(0, -50%, 0) !important; }
    .cs-category-links-dropdown__trigger:after {
      transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
    .cs-category-links-dropdown__trigger[aria-expanded="true"]:before {
      transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
      opacity: 0; }
    .cs-category-links-dropdown__trigger[aria-expanded="true"]:after {
      transform: translate3d(0, -50%, 0) rotate(0) !important; }
    .cs-category-links-dropdown__trigger[aria-expanded='true'] {
      position: relative;
      z-index: 5;
      border-color: transparent; }
      @media (min-width: 48em) {
        .cs-category-links-dropdown__trigger[aria-expanded='true'] {
          position: static;
          z-index: auto; } }
  .cs-category-links-dropdown__content {
    position: absolute;
    top: 0;
    left: -1rem;
    right: -1rem;
    width: auto;
    padding-top: 4.8rem;
    overflow: hidden;
    height: 0;
    opacity: 0;
    transform: translateY(4.8rem);
    transition: opacity 50ms linear, transform 100ms ease-in-out;
    display: block !important; }
    @media (min-width: 48em) {
      .cs-category-links-dropdown__content {
        position: static;
        overflow: visible;
        height: auto;
        opacity: 1;
        transform: none;
        padding: 0;
        transition: none; } }
  @media (min-width: 48em) and (min-width: 48em) {
    .cs-category-links-dropdown__content {
      display: flex !important; } }
    .cs-category-links-dropdown__content[aria-hidden='false'] {
      z-index: 4;
      height: auto;
      opacity: 1;
      transform: translateY(0); }
  @media (max-width: 47.99em) {
    .cs-category-links-dropdown--no-subcats .cs-category-links-dropdown__content {
      position: static;
      transform: none;
      height: auto;
      opacity: 1;
      box-shadow: none;
      padding: 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]
*/
/**
 * 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 {
  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 {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column; }

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

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

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap; }

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

.swiper-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 {
  height: auto; }

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

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

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-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 {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  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 {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

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

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

.swiper-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 {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

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

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

.swiper-container-fade .swiper-slide .swiper-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 {
  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 {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-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 {
  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 {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-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 {
  /* 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 */
/**
 * 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 */
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-daily-deal-teaser {
  display: none;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-daily-deal-teaser {
      margin: 0 0 4rem; } }
  .cs-daily-deal-teaser--skip-spacing {
    margin: 0; }
  .cs-daily-deal-teaser__aside-image {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #f0f0f0;
    padding: 0 0 1.5rem 0; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__aside-image {
        max-width: 32%;
        padding: 0 2rem 0 0;
        border-right: 1px solid #f0f0f0;
        border-bottom: none; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__aside-image {
        flex: 1 1;
        border: none;
        max-width: 20%;
        border-right: 1px solid #f0f0f0; } }
  .cs-daily-deal-teaser__image-wrapper {
    width: 100%; }
    .cs-daily-deal-teaser__image-wrapper, .cs-daily-deal-teaser__image-wrapper:visited, .cs-daily-deal-teaser__image-wrapper:hover {
      color: inherit;
      text-decoration: inherit; }
  .cs-daily-deal-teaser__figure {
    position: relative;
    overflow: hidden;
    text-align: center; }
  .cs-daily-deal-teaser__main {
    width: 100%;
    flex-shrink: 1; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__main {
        max-width: 68%;
        padding: 2rem; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__main {
        max-width: 80%;
        flex: 1 1;
        display: flex;
        flex-wrap: wrap;
        padding: 0 2rem; } }
  .cs-daily-deal-teaser__details {
    border-bottom: 1px solid #f0f0f0; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__details {
        flex-grow: 5;
        display: flex;
        flex-direction: row;
        max-width: 100%; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__details {
        border-bottom: none;
        width: 100%; } }
  .cs-daily-deal-teaser__description {
    width: 100%; }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__description {
        width: 45%; } }
    @media (min-width: 80em) {
      .cs-daily-deal-teaser__description {
        margin: 0 2rem 0 0; } }
  .cs-daily-deal-teaser__description-inner {
    margin: 1.5rem 0; }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__description-inner {
        margin: 0 2rem 0 0; } }
  .cs-daily-deal-teaser__description-list ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-daily-deal-teaser__description-list li {
    padding-left: 2rem;
    margin: 0 0 0.5rem 0;
    position: relative;
    font-size: 1.2rem; }
    .cs-daily-deal-teaser__description-list li:before {
      content: '';
      position: absolute;
      top: 0.5rem;
      left: 0.5rem;
      width: 0.9rem;
      height: 0.9rem;
      background: url("../images/icons/check.svg") no-repeat center center/cover transparent; }
    .cs-daily-deal-teaser__description-list li:nth-child(n + 6) {
      display: none; }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__description-list li:nth-child(n + 5) {
        display: none; } }
  .cs-daily-deal-teaser__details-main {
    min-width: 80%;
    flex-grow: 1; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__details-main {
        margin-right: 2rem; } }
  .cs-daily-deal-teaser__product-brand {
    margin: 0;
    color: #6E6E6E; }
  .cs-daily-deal-teaser__product-name {
    margin: 0 0 0.5rem;
    font-size: 2.25rem; }
  .cs-daily-deal-teaser__product-link {
    color: inherit; }
    .cs-daily-deal-teaser__product-link, .cs-daily-deal-teaser__product-link:visited, .cs-daily-deal-teaser__product-link:hover {
      color: inherit;
      text-decoration: inherit; }
  .cs-daily-deal-teaser__product-rating {
    margin: 0.2rem 0 1.5rem; }
  @media (min-width: 48em) {
    .cs-daily-deal-teaser__dd-detail {
      margin-top: 0;
      padding: 0; } }
  @media (min-width: 40em) {
    .cs-daily-deal-teaser__dd-detail--countdown {
      width: 48%;
      flex-grow: 1;
      margin-right: 1.5rem; } }
  @media (min-width: 64em) {
    .cs-daily-deal-teaser__dd-detail--countdown {
      align-self: flex-end; } }
  .cs-daily-deal-teaser__dd-detail--progress-bar {
    margin-bottom: 1.5rem; }
    @media (min-width: 40em) {
      .cs-daily-deal-teaser__dd-detail--progress-bar {
        width: 100%; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__dd-detail--progress-bar {
        margin-bottom: 0; } }
    @media (min-width: 80em) {
      .cs-daily-deal-teaser__dd-detail--progress-bar {
        align-self: flex-end; } }
  .cs-daily-deal-teaser__addtocart {
    padding-top: 1.5rem;
    display: flex;
    justify-content: center; }
    @media (min-width: 40em) {
      .cs-daily-deal-teaser__addtocart {
        align-items: flex-end; } }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__addtocart {
        align-self: flex-end; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__addtocart {
        width: 47%;
        display: block;
        padding: 0; } }
    @media (min-width: 80em) {
      .cs-daily-deal-teaser__addtocart {
        padding-left: 2rem; } }
  .cs-daily-deal-teaser__dd-headline {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase; }
  .cs-daily-deal-teaser__progress-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1;
    margin: 0.5rem 0 0;
    padding: 1.1rem 1rem;
    background: #f0f0f0;
    border-radius: 3px; }
    .cs-daily-deal-teaser__progress-bar-content {
      width: 100%;
      height: 10px;
      background: #ffffff; }
    .cs-daily-deal-teaser__progress-bar .cs-daily-deal-teaser__progress-bg {
      background-color: #ffffff;
      height: 100%; }
    .cs-daily-deal-teaser__progress-bar .cs-daily-deal-teaser__progress {
      background-color: #A9C546;
      height: 100%;
      border: 1px solid #A9C546; }
    .cs-daily-deal-teaser__progress-bar .cs-daily-deal-teaser__progress-possible {
      height: 80%;
      border: 1px solid #f0f0f0;
      margin: 2px;
      border-radius: 3px;
      background: repeating-linear-gradient(-45deg, #dcdcdc, #dcdcdc 1px, transparent 1px, transparent 5px); }
  .cs-daily-deal-teaser__available {
    white-space: nowrap;
    padding-left: 1rem;
    font-size: 1.2rem;
    font-weight: 600; }
  .cs-daily-deal-teaser__actions {
    padding: 1.5rem 0; }
    @media (min-width: 40em) {
      .cs-daily-deal-teaser__actions {
        display: flex;
        flex-wrap: wrap; } }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__actions {
        width: 100%;
        justify-content: space-between;
        align-items: flex-start;
        padding: 2rem 0;
        flex-wrap: wrap; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__actions {
        flex: 1 1;
        flex-direction: row;
        flex-wrap: wrap;
        width: auto;
        justify-content: center;
        align-items: flex-start;
        min-width: 45%;
        padding: 0; } }
  .cs-daily-deal-teaser__details-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.5rem; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__details-price {
        justify-content: flex-start;
        padding-bottom: 0;
        flex-direction: column;
        width: 30%; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser__details-price {
        flex-direction: row;
        height: auto;
        justify-content: flex-end;
        align-items: flex-start;
        align-self: flex-start; } }
  .cs-daily-deal-teaser__price .price-box .old-price .price {
    font-size: 1.4rem; }
  .cs-daily-deal-teaser__price .price-box .special-price .price,
  .cs-daily-deal-teaser__price .price-box .normal-price .price {
    font-size: 2.2rem; }
  .cs-daily-deal-teaser__discount {
    margin-left: 0.5rem;
    padding: 0 0 1.5rem;
    position: absolute;
    top: 0;
    left: 1.5rem;
    z-index: 10; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser__discount {
        left: 0; } }
  .cs-daily-deal-teaser__badge-wrapper:before {
    left: -0.5rem; }
  .cs-daily-deal-teaser__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;
    font-size: 1.5rem; }
    @media (max-width: 47.99em) {
      .cs-daily-deal-teaser__badge {
        font-size: 10px;
        max-width: 88px;
        padding: 8px 13px; } }
    .cs-daily-deal-teaser__badge--discount {
      background-color: #FF4604;
      color: #ffffff; }
      .cs-daily-deal-teaser__badge--discount .cs-daily-deal-teaser__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-daily-deal-teaser__badge--discount .cs-daily-deal-teaser__badge-text + .cs-daily-deal-teaser__badge--discount .cs-daily-deal-teaser__badge-text {
          margin-left: 0.5rem; }
  .cs-daily-deal-teaser__badge-text {
    line-height: normal;
    transform: none;
    text-align: right; }
    .cs-daily-deal-teaser__badge-text + .cs-daily-deal-teaser__badge-text {
      margin-left: 0.5rem; }
  .cs-daily-deal-teaser .tocart {
    margin-top: 1.5rem;
    min-width: 20rem;
    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: 11px 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-daily-deal-teaser .tocart.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-daily-deal-teaser .tocart.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-daily-deal-teaser .tocart::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-daily-deal-teaser .tocart, .cs-daily-deal-teaser .tocart: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-daily-deal-teaser .tocart *, .cs-daily-deal-teaser .tocart:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-daily-deal-teaser .tocart:hover:not([disabled]), .cs-daily-deal-teaser .tocart:focus:not([disabled]), .cs-daily-deal-teaser .tocart:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-daily-deal-teaser .tocart:hover:not([disabled]) *, .cs-daily-deal-teaser .tocart:focus:not([disabled]) *, .cs-daily-deal-teaser .tocart:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-daily-deal-teaser .tocart[disabled] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-daily-deal-teaser .tocart[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .cs-daily-deal-teaser .tocart 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; }
      @media (min-width: 64em) {
        .cs-daily-deal-teaser .tocart span {
          padding-right: 2em; } }
      @media (min-width: 80em) {
        .cs-daily-deal-teaser .tocart span {
          padding-right: 4em; } }
    .cs-daily-deal-teaser .tocart svg {
      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; }
    @media (min-width: 40em) {
      .cs-daily-deal-teaser .tocart {
        min-width: 17rem; } }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser .tocart {
        margin-top: 0; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser .tocart {
        width: 100%;
        min-width: 17rem; } }
  .cs-daily-deal-teaser--active {
    display: block; }
    @media (min-width: 48em) {
      .cs-daily-deal-teaser--active {
        display: flex;
        flex-wrap: wrap; } }
    @media (min-width: 64em) {
      .cs-daily-deal-teaser--active {
        flex-wrap: nowrap; } }
  .cs-daily-deal-teaser--expired {
    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]
*/
/**
 * 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]
*/
/**
 * 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: none;
    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: 11px 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: #FF4604; }
      .cs-image-teaser__cta-button *, .cs-image-teaser__cta-button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .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: #FF7442; }
      .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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-image-teaser__cta-button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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: 11px 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] {
        cursor: auto;
        background-color: #a6e5b5;
        position: relative; }
        .cs-image-teaser-legacy__cta-button[disabled] span.cs-header-search__button-label {
          z-index: 2;
          position: relative; }
      .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]
*/
/**
 * 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]
*/
/**
 * Gap between columns (all CSS units allowed) [Example: 1.5rem]
 * @see https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap
 */
/**
 * @see https://developer.mozilla.org/en-US/docs/Web/CSS/column-rule
 */
.cs-paragraph {
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  -moz-column-rule: 1px solid #dcdcdc;
       column-rule: 1px solid #dcdcdc;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-paragraph {
      margin: 0 0 4rem; } }
  .cs-paragraph--skip-spacing {
    margin: 0; }
  .cs-paragraph img {
    width: 100%;
    height: auto; }
  .cs-paragraph a.button {
    margin-top: 15px; }
  .cs-paragraph h6 {
    font-size: 2.1rem;
    text-transform: none;
    line-height: 38px;
    font-weight: 400;
    color: #000; }
    .cs-paragraph h6 strong {
      font-weight: 400; }
  .cs-paragraph h3,
  .cs-paragraph h4 {
    text-transform: none; }
  @media (min-width: 48em) {
    .cs-paragraph--cols-2, .cs-paragraph--cols-3, .cs-paragraph--cols-4 {
      -moz-column-count: 2;
           column-count: 2; }
      .cs-paragraph--cols-2 li, .cs-paragraph--cols-3 li, .cs-paragraph--cols-4 li {
        width: 100%; }
      .cs-paragraph--cols-2 img, .cs-paragraph--cols-3 img, .cs-paragraph--cols-4 img {
        display: block;
        max-width: 100%; } }
  @media (min-width: 64em) {
    .cs-paragraph--cols-3, .cs-paragraph--cols-4 {
      -moz-column-count: 3;
           column-count: 3; } }
  @media (min-width: 80em) {
    .cs-paragraph--cols-4 {
      -moz-column-count: 4;
           column-count: 4; } }
  .cs-paragraph--mode-optimal {
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
    -moz-column-count: initial;
         column-count: initial; }

.cms-page-view .main .cs-paragraph p,
.cms-page-view .main .cs-paragraph h6 {
  margin: 0 0 25px; }

.ips-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center; }
  @media (min-width: 48em) {
    .ips-wrapper {
      flex-direction: row;
      flex-wrap: nowrap; } }
  .ips-wrapper .content h2 {
    font-family: "Red Hat Display";
    font-size: 1.8rem;
    text-transform: capitalize;
    margin-bottom: 20px;
    font-weight: bold;
    line-height: 26px; }
  .ips-wrapper .content p {
    font-size: 1.6rem;
    color: #3E3E3E;
    font-weight: lighter;
    line-height: 24px; }

.ips-section-wrapper {
  margin-left: -30px;
  margin-right: -30px; }

.js-ips-section {
  padding: 0 6px; }
  @media (min-width: 40em) {
    .js-ips-section {
      padding: 0 10px; } }
  @media (min-width: 48em) {
    .js-ips-section {
      padding: 0 15px; } }
  .js-ips-section .ips-section-inner {
    background-color: #F4F4F4;
    text-align: center;
    padding: 15px 10px;
    height: 100%; }
    @media (min-width: 48em) {
      .js-ips-section .ips-section-inner {
        padding: 15px 20px; } }
  .js-ips-section .title {
    padding: 0 5px;
    margin-bottom: 17px; }
    .js-ips-section .title h4 {
      font-family: "Red Hat Display";
      font-size: 1.8rem;
      text-transform: capitalize;
      margin-bottom: 20px;
      font-weight: bold; }
    .js-ips-section .title span {
      font-size: 1.6rem;
      color: #3E3E3E;
      font-weight: lighter;
      line-height: 24px; }
  .js-ips-section .options {
    list-style: none;
    padding: 0;
    margin: 0; }

.ips-item {
  text-align: center;
  min-height: 40px;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-family: "Red Hat Display";
  font-weight: bold;
  padding: 9px;
  max-width: 225px;
  width: 100%;
  display: block;
  border: 2px solid #000;
  border-radius: 50px;
  margin: 0 auto 1rem;
  cursor: pointer; }
  .ips-item.selected, .ips-item:hover {
    background-color: #FF4604;
    border-color: #FF4604;
    color: #ffffff; }

.hide-recommendations {
  display: none; }

.ips-wrapper .content {
  padding-right: 15px; }

.ips-section-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  @media (min-width: 48em) {
    .ips-section-wrapper {
      flex-direction: row;
      flex-wrap: nowrap; } }

.ips-section-wrapper > div {
  width: 100%;
  width: calc(100%/2);
  margin-bottom: 15px; }
  @media (min-width: 48em) {
    .ips-section-wrapper > div {
      width: calc(100%/4);
      margin-bottom: 0; } }

.js-ips-products-list {
  display: flex;
  flex-direction: column;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 30px;
  margin-bottom: 15px; }
  @media (min-width: 40em) {
    .js-ips-products-list {
      flex-direction: row;
      flex-wrap: wrap;
      margin-top: 45px;
      margin-bottom: 55px; } }
  @media (min-width: 48em) {
    .js-ips-products-list {
      flex-direction: row;
      flex-wrap: nowrap; } }

.js-ips-products-list ul {
  list-style: none;
  padding: 0; }

.js-ips-products {
  margin-top: 55px;
  margin-left: -15px;
  margin-right: -15px; }
  .js-ips-products h2 {
    font-size: 2.8rem;
    font-family: "Red Hat Display";
    text-transform: none;
    margin-bottom: 20px;
    font-weight: bold;
    line-height: 28px; }
  .js-ips-products > p {
    font-size: 1.6rem;
    color: #3E3E3E;
    font-weight: lighter;
    line-height: 24px; }
  .js-ips-products .ips-product.show {
    border: 2px solid #FF4604; }
    .js-ips-products .ips-product.show a {
      font-weight: bold;
      color: #000; }
  .js-ips-products .ips-product a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #575757;
    letter-spacing: 0.5px;
    text-decoration: underline; }
    @media (min-width: 48em) {
      .js-ips-products .ips-product a {
        flex-direction: row; } }
  .js-ips-products .ips-product img {
    margin-right: 20px;
    max-width: 100px; }

.ips-product-container {
  height: 100%;
  padding: 0 6px;
  width: 100%;
  margin-bottom: 15px; }
  @media (min-width: 40em) {
    .ips-product-container {
      padding: 0 10px;
      width: calc(100%/3);
      margin-bottom: 0; } }
  @media (min-width: 48em) {
    .ips-product-container {
      padding: 0 15px; } }
  .ips-product-container li {
    margin-bottom: 30px; }
  @media (max-width: 39.99em) {
    .ips-product-container ul {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; }
      .ips-product-container ul li {
        width: calc(100%/2);
        display: block;
        padding: 0 6px;
        text-align: center; } }

/**
 * 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;
 */
/**
 * 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-products-carousel__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-products-carousel__slide {
  float: left; }

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

.swiper-wrapper, .cs-products-carousel__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-products-carousel__slide, .swiper-wrapper, .cs-products-carousel__slides {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper, .swiper-container-multirow > .cs-products-carousel__slides {
  flex-wrap: wrap; }

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

.swiper-slide, .cs-products-carousel__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-products-carousel__slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper, .swiper-container-autoheight .cs-products-carousel__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-products-carousel__slides,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .cs-products-carousel__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-products-carousel__slides {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper,
.swiper-container-wp8-vertical > .cs-products-carousel__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-products-carousel__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-products-carousel__scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

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

.swiper-scrollbar-drag, .cs-products-carousel__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-products-carousel__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-products-carousel__slide {
  transition-timing-function: ease-out; }

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

.swiper-container-fade .swiper-slide .swiper-slide, .swiper-container-fade .cs-products-carousel__slide .swiper-slide, .swiper-container-fade .swiper-slide .cs-products-carousel__slide, .swiper-container-fade .cs-products-carousel__slide .cs-products-carousel__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-products-carousel__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-products-carousel__slide .swiper-slide, .swiper-container-cube .swiper-slide .cs-products-carousel__slide, .swiper-container-cube .cs-products-carousel__slide .cs-products-carousel__slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide, .swiper-container-cube.swiper-container-rtl .cs-products-carousel__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-products-carousel__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-products-carousel__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-products-carousel__slide .swiper-slide, .swiper-container-flip .swiper-slide .cs-products-carousel__slide, .swiper-container-flip .cs-products-carousel__slide .cs-products-carousel__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-products-carousel__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 */
.cs-products-carousel {
  position: relative;
  margin: 0 0 3rem; }
  .cs-products-carousel__slides {
    align-items: stretch;
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  .cs-products-carousel__slide {
    margin: 0;
    padding: 0;
    list-style: none;
    height: auto;
    display: flex;
    justify-content: center; }
  .cs-products-carousel__figure {
    width: 100%;
    margin: 0;
    padding: 0; }
  .cs-products-carousel__image {
    display: block;
    width: 100%; }
  .cs-products-carousel__nav {
    display: none;
    position: absolute;
    top: calc( 50% - 1.5rem);
    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-products-carousel__nav {
    opacity: 1; }
    .cs-products-carousel:hover .cs-products-carousel__nav {
      opacity: 1; } }
    .cs-products-carousel__nav--hidden {
      display: none; }
    .cs-products-carousel__nav--disabled {
      cursor: default;
      display: none;
      opacity: 1; }
    .cs-products-carousel__nav--prev {
      left: 0; }
      @media (min-width: 80em) {
        .cs-products-carousel:not(.cs-products-carousel--full-width-slider) .cs-products-carousel__nav--prev {
          left: -2.75rem;
          opacity: 1; } }
    .cs-products-carousel__nav--next {
      right: 0; }
      @media (min-width: 80em) {
        .cs-products-carousel:not(.cs-products-carousel--full-width-slider) .cs-products-carousel__nav--next {
          right: -2.75rem;
          opacity: 1; } }
    .cs-products-carousel--ready .cs-products-carousel__nav:not(.cs-products-carousel__nav--disabled) {
      display: block; }
    .cs-products-carousel__nav:hover, .cs-products-carousel__nav:active, .cs-products-carousel__nav:focus {
      background: transparent;
      border: 0;
      box-shadow: none; }
  .cs-products-carousel__nav-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2.4rem;
    height: 3.7rem;
    fill: #FF4604; }
  .cs-products-carousel__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-products-carousel__pagination--hidden {
      display: none; }
  .cs-products-carousel__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-products-carousel__pagination-item:hover {
      background: #dcdcdc; }
    .cs-products-carousel__pagination-item--active, .cs-products-carousel__pagination-item--active:hover {
      background: #fed400; }
  .cs-products-carousel__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-products-carousel__number {
    font-weight: 700; }
    .cs-products-carousel__number--current {
      color: #FF4604; }
  @media (min-width: 48em) {
    .cs-products-carousel {
      margin: 0 0 4rem; } }
  .cs-products-carousel--skip-spacing {
    margin: 0; }
  @media (min-width: 40em) {
    .cs-products-carousel__nav {
      display: none !important; } }
  .cs-products-carousel--list .cs-products-carousel__nav,
  .cs-products-carousel--list .cs-products-carousel__pagination,
  .cs-products-carousel--list .cs-products-carousel__scrollbar {
    display: none !important; }
  .cs-products-carousel__pagination {
    display: none !important; }
  .cs-products-carousel__wrapper {
    overflow: visible; }
    @media (max-width: 64em) {
      .cs-products-carousel__wrapper {
        overflow: hidden; } }
    @media (min-width: 64em) {
      .cs-products-carousel__wrapper:hover {
        z-index: 5; } }
  .cs-products-carousel--list .cs-products-carousel__slides {
    flex-wrap: wrap; }
  .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__slide {
    opacity: 0;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    overflow: hidden;
    transition: transform 0.15s linear, opacity 0.25s linear 0.1s; }
    .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__slide:not(.cs-products-carousel__slide--in-viewport) {
      transform: scale(0); }
    .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__slide--in-viewport {
      opacity: 1;
      transform: scale(1); }
    @media (min-width: 64em) {
      .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__slide:hover {
        z-index: 5;
        overflow: visible; } }
  .cs-products-carousel__product-tile {
    width: 100%; }
    .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile {
      position: relative; }
      .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile:before {
        display: block;
        content: '';
        width: 100%;
        padding-top: 170%; }
      .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile .cs-product-tile {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
    @media (max-width: 39.99em) {
      .cs-products-carousel__product-tile .cs-product-tile__main {
        padding: 10px 12px; }
        .cs-products-carousel__product-tile .cs-product-tile__main .cs-product-tile__name {
          font-size: 1.5rem; } }
  .cs-products-carousel__scrollbar {
    height: 0.5rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile {
      position: relative; }
      .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile:before {
        content: none; }
      .cs-products-carousel:not(.cs-products-carousel--list) .cs-products-carousel__product-tile .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; } }
  @media (max-width: 39.99em) {
    .cs-products-carousel .cs-product-tile__container {
      padding: 1.5rem 4rem; }
    .cs-products-carousel .cs-products-carousel__nav--prev {
      left: 0; }
    .cs-products-carousel .cs-products-carousel__nav--next {
      right: 0; } }

.products-related,
.products-upsell,
.products-crosssell {
  margin-top: 65px; }
  @media (max-width: 47.99em) {
    .products-related,
    .products-upsell,
    .products-crosssell {
      margin-top: 35px; } }
  .products-related .cs-headline__title,
  .products-upsell .cs-headline__title,
  .products-crosssell .cs-headline__title {
    font-size: 3rem; }
    @media (max-width: 47.99em) {
      .products-related .cs-headline__title,
      .products-upsell .cs-headline__title,
      .products-crosssell .cs-headline__title {
        font-size: 1.8rem; } }

/**
 * 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]
*/
/**
 * 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]
*/
/* 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]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-product-finder {
  font-size: 1rem;
  position: relative;
  padding-bottom: 2rem;
  transition: height 0.3s, padding-bottom 0.3s;
  overflow: hidden;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-product-finder {
      margin: 0 0 4rem; } }
  .cs-product-finder--skip-spacing {
    margin: 0; }
  .cs-product-finder__back-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: 11px 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;
    position: absolute;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.3s 0.4s, 0.15s linear, border-color 0.15s linear, color 0.15s linear;
    left: 50%;
    transform: translateX(-50%) scale(0); }
    .cs-product-finder__back-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-product-finder__back-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-product-finder__back-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-product-finder__back-button, .cs-product-finder__back-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-product-finder__back-button *, .cs-product-finder__back-button:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .cs-product-finder__back-button:hover:not([disabled]), .cs-product-finder__back-button:focus:not([disabled]), .cs-product-finder__back-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .cs-product-finder__back-button:hover:not([disabled]) *, .cs-product-finder__back-button:focus:not([disabled]) *, .cs-product-finder__back-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-product-finder__back-button[disabled] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-product-finder__back-button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .cs-product-finder__back-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-left: 4em; }
    .cs-product-finder__back-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; }
    .cs-product-finder__back-button--visible {
      opacity: 1;
      transform: translateX(-50%) scale(1); }
      .cs-product-finder__step .cs-product-finder__back-button--visible {
        display: none; }
  .cs-product-finder__form {
    display: none; }
  .cs-product-finder__step {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    transition: opacity 0.3s 0.4s;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1; }
    .cs-product-finder__step--current {
      position: static;
      opacity: 1;
      z-index: 1; }
  .cs-product-finder__step-header {
    font-size: 1rem;
    clear: both;
    padding: 2em 0;
    margin: 2em 0;
    width: 100%; }
  .cs-product-finder__step-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-product-finder__step-title {
        display: flex; } }
  .cs-product-finder__step-description {
    color: #3E3E3E;
    font-size: 1.3em;
    font-weight: 400;
    text-transform: none;
    margin: 0;
    display: none;
    text-align: center; }
    @media (min-width: 48em) {
      .cs-product-finder__step-description {
        display: block; } }
  .cs-product-finder__step-options {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  .cs-product-finder__step-option {
    flex: 0 1 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 1rem;
    border: 1px solid #f0f0f0;
    border-radius: 0.5rem;
    transition: 0.3s border-color;
    overflow: hidden; }
    .cs-product-finder__step-option--checked, .cs-product-finder__step-option:hover {
      border-color: #FF4604; }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_1 .cs-product-finder__step-option {
        flex-basis: calc( 100% - 0rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_1 .cs-product-finder__step-option:nth-child(1n + 1) {
          margin-right: 0; } }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_2 .cs-product-finder__step-option {
        flex-basis: calc( 50% - 0.5rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_2 .cs-product-finder__step-option:nth-child(2n + 2) {
          margin-right: 0; } }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_3 .cs-product-finder__step-option {
        flex-basis: calc( 33.33333% - 0.66667rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_3 .cs-product-finder__step-option:nth-child(3n + 3) {
          margin-right: 0; } }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_4 .cs-product-finder__step-option {
        flex-basis: calc( 25% - 0.75rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_4 .cs-product-finder__step-option:nth-child(4n + 4) {
          margin-right: 0; } }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_5 .cs-product-finder__step-option {
        flex-basis: calc( 20% - 0.8rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_5 .cs-product-finder__step-option:nth-child(5n + 5) {
          margin-right: 0; } }
    @media (max-width: 47.99em) {
      .cs-product-finder__step--options-mobile_6 .cs-product-finder__step-option {
        flex-basis: calc( 16.66667% - 0.83333rem);
        margin-right: 1rem; }
        .cs-product-finder__step--options-mobile_6 .cs-product-finder__step-option:nth-child(6n + 6) {
          margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_1 .cs-product-finder__step-option {
    flex-basis: calc( 100% - 0rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_1 .cs-product-finder__step-option:nth-child(1n + 1) {
      margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_2 .cs-product-finder__step-option {
    flex-basis: calc( 50% - 0.5rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_2 .cs-product-finder__step-option:nth-child(2n + 2) {
      margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_3 .cs-product-finder__step-option {
    flex-basis: calc( 33.33333% - 0.66667rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_3 .cs-product-finder__step-option:nth-child(3n + 3) {
      margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_4 .cs-product-finder__step-option {
    flex-basis: calc( 25% - 0.75rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_4 .cs-product-finder__step-option:nth-child(4n + 4) {
      margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_5 .cs-product-finder__step-option {
    flex-basis: calc( 20% - 0.8rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_5 .cs-product-finder__step-option:nth-child(5n + 5) {
      margin-right: 0; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-product-finder__step--options-tablet_6 .cs-product-finder__step-option {
    flex-basis: calc( 16.66667% - 0.83333rem);
    margin-right: 1rem; }
    .cs-product-finder__step--options-tablet_6 .cs-product-finder__step-option:nth-child(6n + 6) {
      margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_1 .cs-product-finder__step-option {
        flex-basis: calc( 100% - 0rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_1 .cs-product-finder__step-option:nth-child(1n + 1) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_1 .cs-product-finder__step-option {
          flex-basis: calc( 100% - 1rem); } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_2 .cs-product-finder__step-option {
        flex-basis: calc( 50% - 0.5rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_2 .cs-product-finder__step-option:nth-child(2n + 2) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_2 .cs-product-finder__step-option {
          flex-basis: calc( 50% - 1.5rem); } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_3 .cs-product-finder__step-option {
        flex-basis: calc( 33.33333% - 0.66667rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_3 .cs-product-finder__step-option:nth-child(3n + 3) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_3 .cs-product-finder__step-option {
          flex-basis: calc( 33.33333% - 1.66667rem); } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_4 .cs-product-finder__step-option {
        flex-basis: calc( 25% - 0.75rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_4 .cs-product-finder__step-option:nth-child(4n + 4) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_4 .cs-product-finder__step-option {
          flex-basis: calc( 25% - 1.75rem); } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_5 .cs-product-finder__step-option {
        flex-basis: calc( 20% - 0.8rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_5 .cs-product-finder__step-option:nth-child(5n + 5) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_5 .cs-product-finder__step-option {
          flex-basis: calc( 20% - 1.8rem); } }
    @media (min-width: 64em) {
      .cs-product-finder__step--options-desktop_6 .cs-product-finder__step-option {
        flex-basis: calc( 16.66667% - 0.83333rem);
        margin-right: 1rem;
        /**
                     * flex-basis does not respect box-sizing: border-box
                     * It is fixed on Edge but not on IE11:
                     * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/106816/
                     * To properly calculate flex-basis we have to add gap (margin)
                     */ }
        .cs-product-finder__step--options-desktop_6 .cs-product-finder__step-option:nth-child(6n + 6) {
          margin-right: 0; }
        .ie11 .cs-product-finder__step--options-desktop_6 .cs-product-finder__step-option {
          flex-basis: calc( 16.66667% - 1.83333rem); } }
  .cs-product-finder__option-sizer {
    padding-bottom: 100%; }
  .cs-product-finder__option-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /**
         * We do not autoprefix grid since IE11 has many bugs in its implementation
         * but in this small case it is working fine as tested.
         */
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr; }
    .ie11 .cs-product-finder__option-content {
      -ms-grid-rows: 1fr auto;
      grid-template-rows: 1fr auto; }
  .cs-product-finder__option-image {
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    -ms-grid-row: 1;
    -ms-grid-column-align: center;
    grid-row: 1; }
  .cs-product-finder__option-label {
    width: 100%;
    font-size: 1.4rem;
    justify-self: flex-end;
    margin-top: auto;
    font-weight: bold;
    padding-top: 1rem;
    text-align: center;
    -ms-grid-row: 2;
    grid-row: 2; }

/**
 * 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-separator {
  position: relative;
  clear: both;
  border: none;
  border-top: 1px solid #dcdcdc;
  background: transparent;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-separator {
      margin: 0 0 4rem; } }
  .cs-separator--skip-spacing {
    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]
*/
/**
 * 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]
*/
/* 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]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-accordion {
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-accordion {
      margin: 0 0 4rem; } }
  .cs-accordion--skip-spacing {
    margin: 0; }
  .cs-accordion__groups, .cs-accordion__items {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-accordion__group {
    margin: 0 0 3rem; }
  .cs-accordion__group-headline {
    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: none;
    margin: 1rem 0 2rem;
    margin: 0 0 0.5rem; }
  .cs-accordion__item {
    margin: 0 0 15px;
    padding: 0; }
    .cs-accordion__item--active .cs-accordion__item-headline {
      background: #575757; }
      .cs-accordion__item--active .cs-accordion__item-headline:before {
        background-image: url("../images/icons/ac_minus.svg"); }
      .cs-accordion__item--active .cs-accordion__item-headline span {
        color: #ffffff; }
    .cs-accordion__item--active .cs-accordion__item-content {
      display: block; }
  .cs-accordion__item-headline {
    position: relative;
    padding: 1.1rem 0;
    cursor: pointer;
    background: #F4F4F4; }
    .cs-accordion__item-headline:before {
      content: '';
      background-image: url("../images/icons/ac_plus.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      display: block;
      width: 30px;
      height: 30px;
      position: absolute;
      right: 2.2rem;
      top: 10px; }
  .cs-accordion__item-headline-span {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-weight: inherit;
    padding: 0 4.5rem 0 2rem;
    font-weight: bold;
    font-size: 1.8rem; }
    @media (max-width: 47.99em) {
      .cs-accordion__item-headline-span {
        width: 100%; } }
  .cs-accordion__item-content {
    display: none;
    margin: 1.2rem 0 2rem;
    padding: 0 5px;
    font-size: 1.6rem; }
    .cs-accordion__item-content p: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]
*/
/**
 * 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]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Buybox custom vars
 */
.catalog-product-view .column.main {
  padding-top: 3px; }

.catalog-product-view .products-related {
  margin-bottom: 15px; }
  @media (max-width: 40em) {
    .catalog-product-view .products-related .cs-products-carousel {
      margin: 0; } }
  .catalog-product-view .products-related .cs-headline {
    margin-bottom: 15px; }
  .catalog-product-view .products-related .cs-headline__title {
    justify-content: center; }

.cs-page-product__mobile-details {
  display: none; }
  @media (max-width: 48em) {
    .cs-page-product__mobile-details {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 15px; } }
  .cs-page-product__mobile-details .page-title-wrapper {
    width: 100%; }
  .cs-page-product__mobile-details .page-title {
    font-size: 1.8rem;
    line-height: 26px;
    margin-bottom: 13px;
    padding: 0;
    color: #000;
    text-align: left;
    text-transform: none; }
    @media (min-width: 40.01em) {
      .cs-page-product__mobile-details .page-title {
        font-size: 2.8rem; } }
  .cs-page-product__mobile-details .sku {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    min-width: 165px; }
    .cs-page-product__mobile-details .sku strong,
    .cs-page-product__mobile-details .sku div {
      font-size: 1.2rem;
      font-weight: normal; }
  .cs-page-product__mobile-details .cs-buybox__brand {
    max-height: 45px;
    display: block;
    text-align: right; }
    .cs-page-product__mobile-details .cs-buybox__brand img {
      height: 100%;
      width: auto; }
  .cs-page-product__mobile-details .cs-page-product__top-brand {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: space-between; }
    .cs-page-product__mobile-details .cs-page-product__top-brand .cs-buybox__brand {
      margin-top: -10px; }

@media (min-width: 48.01em) {
  .cs-page-product__top {
    display: flex;
    flex-direction: row; } }

@media (max-width: 48em) {
  .cs-page-product__top {
    display: flex;
    flex-direction: column; }
    .cs-page-product__top .cs-page-product__gallery {
      order: 2;
      margin: 0 auto; }
      .cs-page-product__top .cs-page-product__gallery .gallery-placeholder {
        height: 50vw;
        max-height: 50vw;
        padding: 0 23vw; }
    .cs-page-product__top .cs-page-product__mobile-details {
      order: 1; }
    .cs-page-product__top .cs-page-product__buybox {
      order: 3;
      padding: 0;
      margin: 0;
      border: 0; } }

.cs-page-product__gallery {
  position: relative;
  max-width: 660px;
  width: 100%; }
  @media (min-width: 48.01em) {
    .cs-page-product__gallery {
      width: calc(100% - 45.5%);
      margin-top: 0;
      margin-right: 3rem; } }

.cs-page-product__buybox {
  border-top: 1px solid #dcdcdc;
  margin-top: 1rem;
  padding-top: 1rem; }
  @media (min-width: 48.01em) {
    .cs-page-product__buybox {
      width: 45.5%;
      margin-top: 0;
      padding-top: 0;
      border-top: 0; } }

.cs-page-product__badges {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  position: absolute;
  z-index: 120;
  top: 0;
  right: 0; }

.cs-page-product__badge-item {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-bottom: 1.5rem;
  margin-left: 1.5rem; }

.cs-page-product__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-page-product__badge {
      font-size: 10px;
      max-width: 88px;
      padding: 8px 13px; } }
  .cs-page-product__badge--new {
    background-color: #A9C546;
    color: #ffffff; }
    .cs-page-product__badge--new .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--new .cs-page-product__badge-text + .cs-page-product__badge--new .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--discount {
    background-color: #FF4604;
    color: #ffffff; }
    .cs-page-product__badge--discount .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--discount .cs-page-product__badge-text + .cs-page-product__badge--discount .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--sale {
    background-color: #CC1C3A;
    color: #ffffff; }
    .cs-page-product__badge--sale .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--sale .cs-page-product__badge-text + .cs-page-product__badge--sale .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--popular {
    background-color: #A9C546;
    color: #ffffff; }
    .cs-page-product__badge--popular .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--popular .cs-page-product__badge-text + .cs-page-product__badge--popular .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--free-shipping {
    background-color: #A9C546;
    color: #ffffff; }
    .cs-page-product__badge--free-shipping .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--free-shipping .cs-page-product__badge-text + .cs-page-product__badge--free-shipping .cs-page-product__badge-text {
        margin-left: 0.5rem; }
  .cs-page-product__badge--dailydeal-pdp {
    background-color: #CC1C3A;
    color: #ffffff; }
    .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text + .cs-page-product__badge--dailydeal-pdp .cs-page-product__badge-text {
        margin-left: 0.5rem; }

.cs-page-product__badge-text {
  line-height: normal;
  transform: none;
  text-align: right; }
  .cs-page-product__badge-text + .cs-page-product__badge-text {
    margin-left: 0.5rem; }

.cs-page-product__pdpbottom {
  padding: 30px 0 20px; }

/**
 * Bundle Product customization
 */
.cs-container--page-pdp-bundle-config {
  padding: 0 1.5rem 0 3rem;
  margin-top: 30px;
  position: relative;
  z-index: 2; }

.cs-container--page-pdp-bundle-config-content {
  background: #F4F4F4; }

.page-product-bundle .price-box.price-final_price .price-container.price-final_price {
  order: 2; }

@media (min-width: 48.01em) {
  .page-product-bundle:not(.page-product-bundle-simplified) .product-add-form form {
    display: flex;
    align-items: stretch;
    flex-direction: column; } }

.page-product-bundle:not(.page-product-bundle-simplified) .bundle-options-wrapper {
  padding: 1.5rem 1.5rem; }
  @media (min-width: 48.01em) {
    .page-product-bundle:not(.page-product-bundle-simplified) .bundle-options-wrapper {
      padding: 0;
      margin: 1.5rem 1.5rem 0;
      border-bottom: 0; } }

.page-product-bundle .cs-buybox__price .price-box {
  display: none !important; }

.page-product-downloadable .product-options-bottom,
.page-product-downloadable .product-options-wrapper {
  float: none;
  width: 100%; }

.page-product-downloadable .product-add-form {
  margin-bottom: 0; }

.page-product-giftcard .product-info-wrapper {
  z-index: 2; }

.page-product-grouped th.col {
  font-weight: normal;
  font-family: "PT Sans Narrow";
  padding: 14px 0 7px;
  letter-spacing: 1.8px; }
  @media (max-width: 48em) {
    .page-product-grouped th.col {
      padding: 21px 0 16px; } }
  .page-product-grouped th.col.qty {
    text-align: right; }

.page-product-grouped .cs-buybox__section--product-form-inner {
  margin-top: 20px; }
  .page-product-grouped .cs-buybox__section--product-form-inner > .stock {
    margin: 25px 0; }

.page-product-grouped .cs-buybox__section--product-form-inner {
  padding: 0 1.5rem 0; }

.page-product-grouped .cs-buybox__addtocart-actions {
  flex-direction: row;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 48em) {
    .page-product-grouped .cs-buybox__addtocart-actions {
      flex-direction: column;
      justify-content: center; } }
  .page-product-grouped .cs-buybox__addtocart-actions .cs-addtocart__wrapper {
    flex: 1 1;
    text-align: left;
    padding-right: 10px; }
    @media (max-width: 48em) {
      .page-product-grouped .cs-buybox__addtocart-actions .cs-addtocart__wrapper {
        padding-left: 0;
        text-align: center; } }
  .page-product-grouped .cs-buybox__addtocart-actions .cs-buybox__addtocart-secure {
    padding: 0; }

.page-product-grouped .cs-container--page-pdp-grouped-config .price-box span.old-price,
.page-product-grouped .cs-container--page-pdp-grouped-config .price-box span.special-price {
  display: none; }

.page-product-grouped .cs-container--page-pdp-grouped-config .price-box .grouped-calculated-price .price-label {
  font-size: 0;
  text-indent: -99999px; }
  .page-product-grouped .cs-container--page-pdp-grouped-config .price-box .grouped-calculated-price .price-label:before {
    content: 'Subtotal:';
    display: inline-block;
    font-size: 2rem;
    margin-right: 5px; }

.page-product-grouped .price-box > .price-container .price-label {
  display: none; }

@media (max-width: 48em) {
  .page-product-bundle .cs-buybox__stock {
    position: initial;
    top: auto;
    right: auto; }
  .page-product-bundle .cs-buybox__section--product-form {
    padding-bottom: 0; } }

.page-product-bundle .cs-container__inner .cs-buybox__stock {
  padding: 20px 15px 0 0; }

@media (max-width: 48em) {
  .page-product-configurable .cs-buybox__stock {
    position: relative;
    top: auto;
    right: auto; } }

@media (min-width: 48.01em) {
  .page-product-configurable .cs-buybox__addtocart-fieldset {
    flex-direction: column; }
  .page-product-configurable .cs-buybox__addtocart-secure {
    padding-right: 0;
    padding-left: 10px; }
    .page-product-configurable .cs-buybox__addtocart-secure svg {
      min-width: 9px; }
  .page-product-configurable .cs-buybox__addtocart-actions {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 20px; }
    .page-product-configurable .cs-buybox__addtocart-actions div:not(.cs-addtocart__wrapper) {
      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]
*/
/* 
 * 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-bundle-box {
  margin-top: 0; }
  .cs-bundle-box .product.pricing {
    display: none; }
  @media (max-width: 48em) {
    .cs-bundle-box {
      padding: 0; }
      .cs-bundle-box .cs-container--page-pdp-bundle-config-content {
        margin-left: -15px;
        margin-right: -15px; } }
  .cs-bundle-box .fieldset {
    border: 0;
    margin: 0;
    padding: 0; }
  .cs-bundle-box .title {
    margin: 0 0 0.7143em;
    padding: 0;
    font-size: 1.5em; }
    .cs-bundle-box .title + br {
      display: none; }
  .cs-bundle-box .back.customization {
    display: none; }
  .cs-bundle-box .fieldset-bundle-options .legend.title {
    display: none; }
  .cs-bundle-box__field:not(:last-child) {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #ffffff; }
  .cs-bundle-box__product-name {
    margin: 0 0 0.5em;
    font-weight: 600; }
    .cs-bundle-box__product-name.label {
      font-size: 1.4rem;
      margin-bottom: 10px; }
  .cs-bundle-box__options-list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start; }
    .cs-bundle-box__options-list .cs-bundle-box__option {
      margin-bottom: 10px;
      position: relative; }
      .cs-bundle-box__options-list .cs-bundle-box__option input {
        position: absolute;
        top: 1px;
        left: 0; }
      .cs-bundle-box__options-list .cs-bundle-box__option .label {
        display: block;
        padding-left: 25px; }
    .cs-bundle-box__options-list .options-list {
      padding-right: 10px; }
      @media (max-width: 40em) {
        .cs-bundle-box__options-list .options-list {
          margin-bottom: 15px; } }
  .cs-bundle-box__product-option-name.label {
    font-weight: 400;
    font-size: 1em; }
  .cs-bundle-box__qty {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    flex-direction: column;
    align-self: flex-start;
    width: auto;
    max-width: 135px;
    min-width: 130px; }
    @media (max-width: 48em) {
      .cs-bundle-box__qty {
        max-width: 120px;
        min-width: 120px; } }
    .cs-bundle-box__qty label {
      margin-bottom: 10px; }
    .cs-bundle-box__qty .qty {
      max-width: 11rem;
      margin-bottom: 0;
      padding: 7px 10px;
      line-height: 12px; }
      .ie11 .cs-bundle-box__qty .qty {
        max-width: 6rem; }
    .cs-bundle-box__qty .cs-qty-increment__button {
      min-width: 34px; }
    .cs-bundle-box__qty .cs-box-addtocart__label {
      margin-right: 0.5rem; }
  .cs-bundle-box__summary .price-configured_price .price-as-configured {
    margin: 0; }
  .cs-bundle-box__summary .price-configured_price .price {
    font-size: 1.5em; }
  @media (max-width: 48em) {
    .cs-bundle-box__summary {
      text-align: center; }
      .cs-bundle-box__summary .price-configured_price {
        text-align: center !important; }
      .cs-bundle-box__summary .cs-buybox__addtocart-fieldset {
        align-items: center; } }
  .cs-bundle-box__summary-section {
    padding: 1.5rem; }
    @media (min-width: 48em) {
      .cs-bundle-box__summary-section {
        padding: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-bundle-box__summary-section {
        padding: 3rem 1.5rem; } }
    .cs-bundle-box__summary-section:empty, .cs-bundle-box__summary-section:blank {
      display: none; }
  .cs-bundle-box__summary-product-details {
    display: flex;
    align-items: center; }
  .cs-bundle-box__summary-product-name {
    margin: 0 0 0 1.5rem; }
  .cs-bundle-box__addtocart {
    margin: 1.5rem 0 0;
    font-size: 1em; }
  .cs-bundle-box__addtocart-button {
    height: 100%;
    width: 100%;
    font-size: 1.4rem; }
  .cs-bundle-box__bunde-items {
    font-size: 1.4rem; }
  .cs-bundle-box__bundle-item:last-child {
    margin-bottom: 1.5rem; }
  .cs-bundle-box__bunde-item-name {
    margin: 0;
    font-weight: 600; }
  .cs-bundle-box .fieldset > p.required {
    display: none;
    margin: 1.5rem 0 0;
    color: #CC1C3A; }
  .cs-bundle-box .product-options-wrapper {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #ffffff; }
  .cs-bundle-box .price-configured_price {
    width: 100%;
    text-align: right; }
  .cs-bundle-box .price-as-configured .price-label,
  .cs-bundle-box .price-as-configured .price {
    font-size: 2rem;
    font-weight: bold; }

/**
 * 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]
*/
/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
/* 
 * 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 */
/*
 * 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-buybox {
  height: 100%;
  font-size: 1.2rem;
  line-height: 1.25;
  /* Default styling is for IN STOCK variant */
  /* Default styling is for IN STOCK variant */
  /**
     * Downloadable products
     */
  /**
     * Grouped products
     */ }
  .cs-buybox__section {
    padding: 1.5rem 0; }
    .cs-buybox__section:first-child {
      border-top: none; }
    @media (min-width: 48.01em) {
      .cs-buybox__section {
        padding: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-buybox__section {
        padding: 0 1.5rem 0 3rem; } }
    .cs-buybox__section:empty, .cs-buybox__section:blank {
      display: none; }
    .cs-buybox__section--product-form-inner {
      padding: 1.5rem 3rem 0 3rem;
      margin-top: 4rem;
      background: #F4F4F4;
      display: flex;
      flex-direction: column;
      position: relative; }
      @media (max-width: 48em) {
        .cs-buybox__section--product-form-inner {
          margin-top: 0;
          position: relative;
          padding: 13px 10px 0; } }
  @media (max-width: 48em) {
    .cs-buybox__section--product-form {
      margin-right: -15px;
      margin-left: -15px; } }
  .cs-buybox__section--product-form > .stock {
    justify-content: flex-start;
    margin: 15px 0 15px; }
    @media (max-width: 47.99em) {
      .cs-buybox__section--product-form > .stock {
        padding: 0 15px; } }
  .cs-buybox__section--extras {
    padding: 0; }
  .cs-buybox__brand {
    display: inline-block; }
  .cs-buybox__brand-text {
    font-size: 1.2rem;
    color: #3E3E3E; }
  .cs-buybox__category {
    margin: 0;
    color: #3E3E3E;
    font-size: 1.2rem;
    display: inline; }
  .cs-buybox__product-name {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: inherit; }
    @media (max-width: 48em) {
      .cs-buybox__product-name {
        display: none; } }
    .cs-buybox__product-name h1 {
      margin: 0 0 5px;
      padding: 0;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      text-transform: inherit;
      color: #000; }
  .cs-buybox__reviews-summary, .cs-buybox__highlights, .cs-buybox__daily-deal {
    margin: 1.5rem 0 0; }
    .cs-buybox__reviews-summary:empty, .cs-buybox__reviews-summary:blank, .cs-buybox__highlights:empty, .cs-buybox__highlights:blank, .cs-buybox__daily-deal:empty, .cs-buybox__daily-deal:blank {
      margin: 0; }
  .cs-buybox .overview {
    font-size: 1.6rem;
    line-height: 26px;
    color: #3E3E3E;
    margin-top: 15px; }
    @media (max-width: 48em) {
      .cs-buybox .overview {
        margin-top: 10px; } }
    .cs-buybox .overview p,
    .cs-buybox .overview li,
    .cs-buybox .overview span {
      letter-spacing: 0.2px; }
  @media (max-width: 48em) {
    .cs-buybox__section--essentials {
      padding: 0; } }
  .cs-buybox__price {
    margin: 0;
    position: relative;
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr [fold];
    grid-template-areas: 'sku brands' 'price brands';
    flex-direction: revert; }
    .cs-buybox__price .cs-buybox__brand {
      grid-area: brands;
      grid-row: 1 / fold;
      text-align: right; }
      .cs-buybox__price .cs-buybox__brand a {
        display: block;
        max-height: 55px;
        height: 55px; }
      .cs-buybox__price .cs-buybox__brand img {
        height: 100%;
        width: auto; }
    .cs-buybox__price .product-info-stock-sku {
      grid-area: sku;
      grid-row: 2 / 1; }
    @media (max-width: 48em) {
      .cs-buybox__price .product-info-stock-sku,
      .cs-buybox__price .cs-buybox__brand {
        display: none; } }
    .cs-buybox__price .sku {
      padding: 10px 0;
      display: flex;
      flex-direction: row; }
      .cs-buybox__price .sku strong {
        font-weight: 400;
        margin-right: 5px; }
    .cs-buybox__price .price-box {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-end;
      vertical-align: initial;
      padding: 0 0 5px;
      grid-area: price;
      grid-row: 2 / 2; }
      @media (max-width: 48em) {
        .cs-buybox__price .price-box {
          padding: 15px 0 5px; } }
      .cs-buybox__price .price-box .regular-price-container,
      .cs-buybox__price .price-box .price-from {
        width: 100%; }
      .cs-buybox__price .price-box .price {
        color: #000;
        font-size: 2.2rem;
        font-weight: 600; }
        .cs-buybox__price .price-box .price.discounted-price {
          color: #CC1C3A; }
      .cs-buybox__price .price-box .old-price {
        text-decoration: none;
        margin-left: 10px; }
        .cs-buybox__price .price-box .old-price .price {
          color: #000;
          font-size: 1.3rem;
          font-weight: 400;
          text-decoration: line-through; }
      .cs-buybox__price .price-box .special-price .price,
      .cs-buybox__price .price-box .normal-price.with-special-price .price {
        color: #CC1C3A;
        font-size: 2.2rem;
        font-weight: 600; }
      .cs-buybox__price .price-box > .price-container .price-label,
      .cs-buybox__price .price-box .price-from > .price-container .price-label {
        display: none; }
      .cs-buybox__price .price-box .price-msrp_price {
        margin-bottom: 0;
        margin-right: 10px; }
      .cs-buybox__price .price-box .regular-price-container span:not(.old-price) .price-msrp_price .price-label {
        display: none; }
      .cs-buybox__price .price-box .map-old-price {
        font-size: 1.4rem; }
        .cs-buybox__price .price-box .map-old-price .price-label {
          font-size: 0;
          margin-right: 0; }
      .cs-buybox__price .price-box > .map-old-price .price-label:before,
      .cs-buybox__price .price-box > .map-old-price .price-wrapper {
        color: #000;
        font-size: 2.2rem;
        font-weight: 600; }
      .cs-buybox__price .price-box .minimal-price + .map-old-price .price-label:before,
      .cs-buybox__price .price-box .minimal-price + .map-old-price .price-wrapper,
      .cs-buybox__price .price-box .price-from + .map-old-price .price-label:before,
      .cs-buybox__price .price-box .price-from + .map-old-price .price-wrapper,
      .cs-buybox__price .price-box .regular-price-container + .map-old-price .price-label:before,
      .cs-buybox__price .price-box .regular-price-container + .map-old-price .price-wrapper {
        color: #000;
        font-size: 1.4rem;
        font-weight: 400; }
  .cs-buybox .price-tier_price {
    display: block; }
  .cs-buybox__product-variants, .cs-buybox__addtocart,
  .cs-buybox .product-options-wrapper {
    margin-bottom: 2rem; }
    .cs-buybox__product-variants .page-product-bundle, .cs-buybox__addtocart .page-product-bundle,
    .cs-buybox .product-options-wrapper .page-product-bundle {
      margin-bottom: 0; }
  .cs-buybox__addtocart.update {
    margin-top: 30px; }
    .cs-buybox__addtocart.update .cs-buybox__qty-wrapper {
      margin-top: 6px; }
  .cs-buybox__product-variants .cs-html-select__trigger {
    height: 4em; }
  .cs-buybox__product-variants-label {
    display: inline-block;
    margin-bottom: 0.4em; }
  .cs-buybox__addtocart-fieldset {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: flex-start; }
    .cs-buybox__addtocart-fieldset .cs-container--page-pdp-grouped-config {
      width: 100%;
      text-align: right;
      padding-top: 15px;
      padding-bottom: 10px; }
      .cs-buybox__addtocart-fieldset .cs-container--page-pdp-grouped-config .price-label,
      .cs-buybox__addtocart-fieldset .cs-container--page-pdp-grouped-config .price {
        font-size: 2rem;
        font-weight: bold; }
    @media (max-width: 64em) {
      .cs-buybox__addtocart-fieldset {
        flex-direction: column; } }
    @media (max-width: 48em) {
      .cs-buybox__addtocart-fieldset {
        flex-direction: column; }
        .cs-buybox__addtocart-fieldset .cs-container--page-pdp-grouped-config {
          text-align: center; } }
  .cs-buybox__addtocart-actions {
    flex-grow: 10;
    width: 100%; }
    .cs-buybox__addtocart-actions .cs-container--page-pdp-grouped-config {
      display: none !important; }
    @media (max-width: 64em) {
      .cs-buybox__addtocart-actions {
        width: 100%; } }
    @media (max-width: 48em) {
      .cs-buybox__addtocart-actions {
        flex-direction: column;
        width: 100%; } }
  .cs-buybox__addtocart-button {
    width: 100%;
    height: 100%;
    min-width: 195px; }

@media (min-width: 48em) and (max-width: 64em) {
  .cs-buybox__addtocart-button {
    max-width: 100%; } }
    .cs-buybox__addtocart-button strong.cs-addtocart__button-label {
      font-size: 1.6rem;
      text-transform: uppercase;
      font-weight: bold;
      position: relative;
      z-index: 4; }
  .cs-buybox__addtocart-secure {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding-right: 30px;
    margin-top: 10px; }

@media (min-width: 48em) and (max-width: 64em) {
  .cs-buybox__addtocart-secure {
    justify-content: center; } }
    @media (max-width: 48em) {
      .cs-buybox__addtocart-secure {
        justify-content: center;
        padding: 0; } }
    .cs-buybox__addtocart-secure span {
      font-size: 1.2rem;
      margin-left: 11px;
      line-height: 14px; }
    .cs-buybox__addtocart-secure svg {
      width: 9px; }
      .cs-buybox__addtocart-secure svg g {
        fill: #000; }
  .cs-buybox__qty-wrapper {
    width: 138px;
    margin: 0 1.5rem 0 0;
    font-size: 1.4rem;
    /* Downloadable product modification - align with Magento Blank */ }
    .cs-buybox__qty-wrapper .cs-label {
      font-size: 12px;
      font-weight: bold;
      display: block;
      margin-bottom: 10px; }
    @media (min-width: 64em) {
      .cs-buybox__qty-wrapper {
        width: 138px; } }
    .page-product-downloadable .cs-buybox__qty-wrapper {
      display: none; }
  .cs-buybox__update {
    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: 11px 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-buybox__update.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-buybox__update.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-buybox__update::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox__update, .cs-buybox__update: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-buybox__update span, .cs-buybox__update:visited span {
        position: relative;
        z-index: 3; }
      .cs-buybox__update:before, .cs-buybox__update: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-buybox__update:after, .cs-buybox__update: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-buybox__update *, .cs-buybox__update:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-buybox__update:hover:not([disabled]), .cs-buybox__update:focus:not([disabled]), .cs-buybox__update:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #4980C1; }
      .cs-buybox__update:hover:not([disabled]):after, .cs-buybox__update:focus:not([disabled]):after, .cs-buybox__update:active:not([disabled]):after {
        top: 2px; }
      .cs-buybox__update:hover:not([disabled]):before, .cs-buybox__update:focus:not([disabled]):before, .cs-buybox__update:active:not([disabled]):before {
        border: 1px solid #4980C1;
        background-color: #4980C1; }
      .cs-buybox__update:hover:not([disabled]) *, .cs-buybox__update:focus:not([disabled]) *, .cs-buybox__update:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-buybox__update[disabled] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #B6BEC5;
      border-radius: 25px;
      font-size: 1.6rem;
      position: relative; }
      .cs-buybox__update[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
      .cs-buybox__update[disabled] span {
        position: relative;
        z-index: 3; }
      .cs-buybox__update[disabled]:before {
        background-color: #B6BEC5;
        border: 1px solid #B6BEC5;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 25px;
        z-index: 2; }
      .cs-buybox__update[disabled]:after {
        background-color: #B6BEC5;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 4px;
        left: 0;
        border-radius: 25px;
        z-index: 1; }
      .cs-buybox__update[disabled] * {
        color: #ffffff;
        fill: #ffffff; }
  .cs-buybox__update-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-buybox__update-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }
  .cs-buybox .product-add-form {
    order: 2; }
  .cs-buybox__stock {
    order: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-direction: column;
    margin: 0 0 15px;
    color: #A9C546; }
    @media (max-width: 48em) {
      .cs-buybox__stock.user {
        position: absolute;
        top: 40px;
        right: 8px; } }
    @media (max-width: 48em) {
      .cs-buybox__stock.guest {
        justify-content: flex-end; } }
    .cs-buybox__stock > span {
      background: #A9C546;
      border-radius: 25px;
      padding: 1px 10px;
      margin-right: 2px; }
      .cs-buybox__stock > span span {
        color: #ffffff;
        font-size: 1.6rem; }
    .cs-buybox__stock--unavailable > span {
      background: #800000; }
  .cs-buybox .outofstock-notice {
    order: 2;
    margin-top: 15px;
    width: 100%;
    color: #3E3E3E; }
    .cs-buybox .outofstock-notice h4 {
      font-size: 1.4rem;
      text-transform: uppercase; }
    .cs-buybox .outofstock-notice p {
      font-size: 1.6rem;
      color: #3E3E3E; }
    .cs-buybox .outofstock-notice a {
      text-decoration: underline;
      color: #e41f12; }
  .cs-buybox__stock-icon {
    width: 12px;
    height: auto;
    fill: currentColor;
    margin-right: 5px; }
    .cs-buybox__stock-icon--unavailable {
      width: 10px; }
  .cs-buybox__stock-subscription {
    margin: 0 0 1.5rem !important; }
  .cs-buybox__addto-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
  .cs-buybox__addto-item {
    margin: 0.5rem 2rem 0.5rem 0; }
    .cs-buybox__addto-item:last-child {
      margin-right: 0; }
  .cs-buybox__addto-link {
    display: inline-flex;
    color: inherit;
    text-decoration: inherit;
    transition: color 0.15s linear;
    align-items: center; }
    .cs-buybox__addto-link:hover {
      color: #FF4604; }
  .cs-buybox__addto-icon {
    height: 1.5rem;
    margin-right: 0.8rem;
    transition: fill 0.15s linear; }
    .cs-buybox__addto-icon--wishlist {
      width: 1.5rem;
      fill: #e41f12; }
    .cs-buybox__addto-icon--compare {
      width: 2rem;
      fill: #FF4604; }
  .cs-buybox__usps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    color: #3E3E3E;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-buybox__usp {
    display: flex;
    align-items: center; }
  .cs-buybox__usp-icon {
    height: 2.2rem;
    margin: 1px 0.8rem 0 0;
    fill: currentColor; }
    .cs-buybox__usp-icon--1 {
      width: 2.2rem; }
    .cs-buybox__usp-icon--2 {
      width: 2rem; }
    .cs-buybox__usp-icon--3 {
      width: 2.3rem; }
  .cs-buybox__usp-label {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content; }
  .cs-buybox__downloadable-options .downloads > .label {
    margin: 0 0 0.7em; }
  .cs-buybox__downloadable-options .legend,
  .cs-buybox__downloadable-options .legend + br {
    display: none; }
  .cs-buybox__downloadable-options .choice {
    align-items: center;
    margin: 0 0 0.7em; }
    .cs-buybox__downloadable-options .choice:last-child {
      margin-bottom: 0; }
  .cs-buybox__downloadable-options input {
    margin: 0 0.7em 0 0; }
  .cs-buybox__downloadable-options .field .label {
    width: auto; }
  .page-product-downloadable .cs-buybox .product-options-bottom .price-final_price {
    display: none; }
  .cs-buybox .grouped {
    margin-bottom: 0; }
    .cs-buybox .grouped .stock-container .outofstock-notice {
      font-size: 14px;
      display: block;
      margin: 10px 0;
      padding-right: 2px;
      text-align: right; }
      .cs-buybox .grouped .stock-container .outofstock-notice a {
        color: #e41f12;
        text-decoration: underline; }
    .cs-buybox .grouped .col {
      vertical-align: middle; }
      .cs-buybox .grouped .col:first-child {
        padding-left: 0; }
      .cs-buybox .grouped .col:last-child {
        padding-right: 0; }
    .cs-buybox .grouped thead th.item {
      width: 170px; }
      @media (max-width: 47.99em) {
        .cs-buybox .grouped thead th.item {
          width: 150px; } }
      @media (max-width: 40em) {
        .cs-buybox .grouped thead th.item {
          width: 95px; } }
    .cs-buybox .grouped thead th.price {
      text-align: center; }
    @media (max-width: 47.99em) {
      .cs-buybox .grouped thead th.price {
        width: 60px; }
      .cs-buybox .grouped thead th.qty {
        width: 98px;
        text-align: center; } }
    .cs-buybox .grouped .table:not(.totals):not(.table-totals) td,
    .cs-buybox .grouped .table:not(.totals):not(.table-totals) thead {
      border-bottom: 1px solid #ffffff !important; }
    .cs-buybox .grouped .table:not(.totals):not(.table-totals) tbody td {
      vertical-align: top;
      padding-top: 14px;
      padding-bottom: 14px; }
      .cs-buybox .grouped .table:not(.totals):not(.table-totals) tbody td.item {
        width: 46%;
        padding-right: 0; }
    .cs-buybox .grouped tbody td.item .product-item-sku,
    .cs-buybox .grouped tbody td.item .product-item-mrsp {
      display: block;
      font-size: 1.4rem;
      padding: 7px 0 0; }
    .cs-buybox .grouped tbody td.item strong.product-item-name,
    .cs-buybox .grouped tbody td.price span.price {
      font-size: 1.4rem;
      font-weight: bold; }
    .cs-buybox .grouped tbody td.price {
      text-align: center; }
      .cs-buybox .grouped tbody td.price .map-old-price {
        display: none !important; }
      .cs-buybox .grouped tbody td.price .price-container,
      .cs-buybox .grouped tbody td.price .price-box {
        margin: 0; }
    .cs-buybox .grouped .regular-price-container .special-price {
      display: block; }
      .cs-buybox .grouped .regular-price-container .special-price .price-label {
        font-size: 0; }
        .cs-buybox .grouped .regular-price-container .special-price .price-label:before {
          content: 'Now:';
          display: inline-block;
          color: #CC1C3A;
          font-size: 1.4rem;
          font-weight: bold; }
    .cs-buybox .grouped .regular-price-container .old-price .price-label,
    .cs-buybox .grouped .regular-price-container .old-price span.price {
      font-size: 1.3rem; }
    .cs-buybox .grouped .regular-price-container .old-price span.price {
      font-weight: normal;
      text-decoration: none; }
    @media (max-width: 48em) {
      .cs-buybox .grouped .table:not(.comparison):not(.totals):not(.table-totals) thead {
        display: table-header-group !important; }
      .cs-buybox .grouped .table:not(.comparison):not(.totals):not(.table-totals)
tbody
td:first-child {
        padding-top: 0; }
      .cs-buybox .grouped .table:not(.comparison):not(.totals):not(.table-totals) tbody td {
        display: table-cell;
        padding-top: 15px !important;
        padding-bottom: 15px; }
        .cs-buybox .grouped .table:not(.comparison):not(.totals):not(.table-totals) tbody td:before {
          display: none !important; } }
    .cs-buybox .grouped .cs-qty-increment {
      justify-content: flex-end; }
      @media (max-width: 40em) {
        .cs-buybox .grouped .cs-qty-increment .cs-qty-increment__input {
          width: 36px;
          max-width: 36px; } }
    .cs-buybox .grouped .qty {
      width: 138px; }
      @media (max-width: 48em) {
        .cs-buybox .grouped .qty {
          margin: 0 auto; } }
      @media (max-width: 40em) {
        .cs-buybox .grouped .qty {
          width: auto; } }
    .cs-buybox .grouped .price-final_price {
      display: block;
      margin-top: 0.3em; }
    .cs-buybox .grouped .stock.unavailable {
      background: #800000;
      border-radius: 25px;
      padding: 2px 10px;
      margin-right: 2px;
      color: #ffffff;
      text-align: center; }
      @media (max-width: 40em) {
        .cs-buybox .grouped .stock.unavailable {
          font-size: 1.2rem;
          padding: 3px 10px 2px; } }
  .cs-buybox #validation-message-box {
    margin: 0 0 1em; }
  .cs-buybox .customize {
    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: 11px 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-bottom: 3rem; }
    .cs-buybox .customize.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-buybox .customize.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-buybox .customize::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-buybox .customize, .cs-buybox .customize: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-buybox .customize *, .cs-buybox .customize:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-buybox .customize:hover:not([disabled]), .cs-buybox .customize:focus:not([disabled]), .cs-buybox .customize:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-buybox .customize:hover:not([disabled]) *, .cs-buybox .customize:focus:not([disabled]) *, .cs-buybox .customize:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-buybox .customize[disabled] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-buybox .customize[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    .cs-buybox .customize span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.page-product-bundle .cs-buybox__section--product-form-inner,
.page-product-configurable .cs-buybox__section--product-form-inner {
  padding: 1.5rem 1.5rem 0; }

.cs-page-product__rebel {
  background-color: #f4f4f4;
  font-size: 1.3em;
  margin-top: 2.5rem;
  padding: 2.5rem; }
  .cs-page-product__rebel .Landing-page-block__title {
    text-transform: uppercase; }
  .cs-page-product__rebel .Brand-logo {
    margin-left: 30px; }
  .cs-page-product__rebel .u-float-left {
    float: left; }
  .cs-page-product__rebel .u-float-right {
    float: right; }
  .cs-page-product__rebel a {
    color: #FF7442;
    text-decoration: underline; }

/**
 * 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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-form__button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }

.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]
*/
/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
.cs-indicator-low-stock {
  position: relative;
  margin: -0.7rem 0 1rem;
  background: #f0f0f0;
  border-radius: 3px;
  padding: 0.5em;
  color: #FF4604; }
  .cs-indicator-low-stock:after {
    position: absolute;
    bottom: 100%;
    right: 1.3rem;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    border-color: rgba(240, 240, 240, 0);
    border-bottom-color: #f0f0f0;
    border-width: 1rem;
    margin-left: -1rem; }
  .cs-indicator-low-stock__content {
    display: flex;
    align-items: center; }
  .cs-indicator-low-stock__icon {
    width: 2em;
    height: 1.8em;
    margin-right: 0.75em;
    fill: currentColor;
    -webkit-animation: ringing 6s infinite;
            animation: ringing 6s infinite; }
  .cs-indicator-low-stock__label span {
    font-weight: 600; }

@-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]
*/
/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
.cs-indicator-fast-shipping {
  display: flex;
  color: #A9C546;
  align-items: center; }
  .cs-indicator-fast-shipping:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-fast-shipping__content {
    display: flex;
    align-items: center; }
  .cs-indicator-fast-shipping__element {
    display: none; }
    .cs-indicator-fast-shipping__element--visible {
      display: flex;
      color: #A9C546;
      align-items: center; }
  .cs-indicator-fast-shipping__icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor; }
    .cs-indicator-fast-shipping__icon * {
      fill: currentColor; }
  .cs-indicator-fast-shipping__headline {
    text-transform: uppercase;
    font-weight: 600;
    color: inherit; }
  .cs-indicator-fast-shipping__text {
    display: block;
    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]
*/
/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
.cs-indicator-free-shipping {
  display: flex;
  color: #A9C546;
  align-items: center; }
  .cs-indicator-free-shipping:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-free-shipping__icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor; }
    .cs-indicator-free-shipping__icon * {
      fill: currentColor; }
  .cs-indicator-free-shipping__headline {
    text-transform: uppercase;
    font-weight: 600;
    color: inherit; }

/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
.cs-indicator-recently-bought:not(:last-child) {
  margin: 0 0 1rem; }

.cs-indicator-recently-bought__content {
  display: flex;
  color: #A9C546;
  align-items: center; }

.cs-indicator-recently-bought__icon {
  width: 2.4em;
  height: 1.8em;
  margin: 0 1rem 0 0;
  fill: currentColor; }
  .cs-indicator-recently-bought__icon * {
    fill: currentColor; }

.cs-indicator-recently-bought__headline {
  text-transform: uppercase;
  font-weight: 600;
  color: inherit; }

.cs-indicator-recently-bought__text {
  display: block;
  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]
*/
/**
 * 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-indicator {

    &__fast-shipping {
        &-element {
            display: none;

            &--visible {
                display: block;
            }
        }
    }

    &__low-stock {
        margin: -0.5rem 0 0.5rem;
        background: $color_alto;
        padding: 0.7rem 0.8rem;
        border-radius: 4px;
        position: relative;
        color: $color_cerulean-blue;
        font-size: 1.3rem;

        &:after {
            bottom: 100%;
            left: 50%;
            border: solid transparent;
            content: '';
            height: 0;
            width: 0;
            position: absolute;
            pointer-events: none;
            border-bottom-color: $color_alto;
            border-width: 7px;
            margin-left: -7px;

            .ie11 {
                bottom: calc(100% - 0.03rem);
            }
        }

        &-icon {
            position: absolute;
            top: 50%;
            margin-top: -1.3rem;
            left: 0.7rem;
            width: 2.4rem;
            height: 2.6rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.3rem;
            line-height: 1.25;
        }
    }

    &__recently-bought {
        margin: 1rem 0;
        position: relative;
        color: $color_apple;

        &-icon {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 0;
            width: 2.2rem;
            height: 2.3rem;
            fill: currentColor;
        }

        &-text {
            display: inline-block;
            padding-left: 3.5rem;
            line-height: 1.25;
        }
    }

    &__top-attribute {
        position: relative !important;
        margin: 0 0 0 1.2rem !important;
        text-indent: 0.2rem;
        top: -0.2rem;
        left: 0;
        box-shadow: none !important;
        margin-left: 1.2rem !important;
        line-height: 1.4rem;
    }

    &__fast-shipping,
    &__free-shipping {
        &-element {
            &--visible {
                display: flex;
                align-items: center;
            }
        }

        &-label {
            align-items: center;

            &:after {
                display: none;
            }

            @include media('<tablet') {
                display: inline-flex !important;
                padding-right: 1rem;
            }
        }

        &-text {
            width: 78%;
            padding-left: 0.3rem;
            color: $color_gray;
            line-height: 1.25;
            font-size: 1.3rem;
        }

        &-important {
            display: block;
            font-weight: 600;
            text-transform: uppercase;

            &--positive {
                color: $color_apple;
            }
        }

        &-icon {
            fill: $color_apple;
            width: 3.3rem;
            height: 2.8rem;

            &--disabled {
                fill: $color_gray;
            }
        }
    }

    &__free-shipping {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1.2rem 0 0;

        &-text {
            color: $color_apple;
        }

        &-important {
            display: inline;
        }
    }
}*/
.cs-indicator-exp-delivery {
  width: 100%;
  display: flex;
  color: #A9C546;
  align-items: center; }
  .cs-indicator-exp-delivery:not(:last-child) {
    margin: 0 0 1rem; }
  .cs-indicator-exp-delivery__element {
    display: flex;
    align-items: center; }
  .cs-indicator-exp-delivery__element-icon {
    width: 2.4em;
    height: 1.8em;
    margin: 0 1rem 0 0;
    fill: currentColor;
    vertical-align: middle; }
    .cs-indicator-exp-delivery__element-icon * {
      fill: currentColor; }
  .cs-indicator-exp-delivery__text {
    display: block;
    color: #3E3E3E;
    display: none; }
    .cs-indicator-exp-delivery__text--visible {
      display: inline-block; }
    .cs-indicator-exp-delivery__text--date {
      font-weight: 700; }
  .cs-indicator-exp-delivery__placeholder {
    display: block;
    color: #3E3E3E;
    display: inline-block;
    margin-top: 0.5rem; }
    .cs-indicator-exp-delivery__placeholder--hidden {
      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]
*/
/**
 * gradient-shadow mixin provides gradient shadow on given position
 * @param $x - x-axis position
 * @param $y - y-axis position
 */
/**
 * 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 {
  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 {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column; }

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

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

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap; }

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

.swiper-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 {
  height: auto; }

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

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

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-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 {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  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 {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

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

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

.swiper-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 {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

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

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

.swiper-container-fade .swiper-slide .swiper-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 {
  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 {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-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 {
  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 {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-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 {
  /* 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 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-product-gallery__loading-mask {
  padding: 0 !important;
  position: static; }

.cs-product-gallery__placeholder-image {
  text-align: center; }

.cs-product-gallery__loader {
  position: relative;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-product-gallery__loader {
      height: 500px;
      padding-bottom: 0 !important; } }
  .cs-product-gallery__loader source,
  .cs-product-gallery__loader img {
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    position: absolute; }

.slick-slider {
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-touch-action: pan-y;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none; }

.slick-list {
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-track {
  display: block;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 0; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  [dir='rtl'] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    border: 1px solid transparent;
    display: block;
    height: auto; }

.slick-arrow {
  cursor: pointer; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

/* stylelint-enable */
.gallery-placeholder-wrapper {
  position: relative;
  max-width: 100%; }

.gallery-placeholder {
  position: relative;
  overflow: hidden;
  max-width: 100%; }
  .gallery-placeholder .slick-slide {
    max-width: inherit;
    width: 100%; }
  .gallery-placeholder > .image-wrapper {
    display: none; }
    .gallery-placeholder > .image-wrapper:first-child {
      display: block; }
  .gallery-placeholder .image-wrapper img[role="presentation"] {
    pointer-events: none; }
  .gallery-placeholder img {
    max-width: 100%;
    width: 100%;
    height: auto; }
  .gallery-placeholder .slick-arrow {
    width: 40px;
    height: 40px;
    display: block;
    font-size: 0;
    border: 0;
    box-shadow: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: transparent;
    top: 50%;
    position: absolute;
    margin-top: -20px; }
    .gallery-placeholder .slick-arrow.slick-prev {
      background-image: url("../images/icons/arrow-left@1x.svg");
      left: -8px; }
    .gallery-placeholder .slick-arrow.slick-next {
      background-image: url("../images/icons/Path-3@1x.svg");
      right: -8px; }
    @media (min-width: 64em) {
      .gallery-placeholder .slick-arrow {
        display: none; } }

.gallery-wrapper {
  width: 100%;
  overflow: hidden; }
  @media (min-width: 64em) {
    .gallery-wrapper .gallery-placeholder-wrapper {
      max-width: 100%;
      max-height: 100%; } }
  @media (min-width: 64em) {
    .gallery-wrapper .gallery-placeholder {
      max-width: 100%;
      padding: 0 30px; } }
  @media (min-width: 64em) {
    .gallery-wrapper .gallery-placeholder.gallery-init {
      max-width: 610px;
      max-height: 610px; } }
  .gallery-wrapper .aw-onsale__label-area-wrap {
    position: initial;
    width: initial;
    height: initial; }
  .gallery-wrapper .slick-nav {
    position: relative;
    overflow: hidden;
    display: block; }
    @media (max-width: 48em) {
      .gallery-wrapper .slick-nav {
        display: none !important; } }
    .gallery-wrapper .slick-nav .slick-slide {
      border: 1px solid #EFEFF0; }
      .gallery-wrapper .slick-nav .slick-slide.slick-current {
        border: 2px solid #000; }
      .gallery-wrapper .slick-nav .slick-slide img {
        width: 100%;
        height: auto; }
    .gallery-wrapper .slick-nav .dummy {
      background: #EFEFF0; }
      @media (min-width: 64em) {
        .gallery-wrapper .slick-nav .dummy {
          width: 86px;
          height: 86px; } }
    .gallery-wrapper .slick-nav .thumb-item[data-thumb-type="video"] {
      position: relative; }
      .gallery-wrapper .slick-nav .thumb-item[data-thumb-type="video"]:after {
        display: block;
        content: '';
        width: 30px;
        height: 30px;
        color: #ffffff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url("../images/icons/play-button.svg");
        background-repeat: no-repeat;
        background-size: contain; }
    .gallery-wrapper .slick-nav .slick-arrow {
      transform: none;
      left: 0;
      right: auto;
      width: 100%;
      line-height: 30px;
      height: auto; }
    .gallery-wrapper .slick-nav .slick-prev,
    .gallery-wrapper .slick-nav .slick-next {
      color: #000; }
  .gallery-wrapper.vertical-thumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; }
    .gallery-wrapper.vertical-thumbs .gallery-placeholder-wrapper {
      flex: 1 1;
      order: 2; }
    .gallery-wrapper.vertical-thumbs .gallery-placeholder.gallery-init {
      margin-left: 30px; }
    .gallery-wrapper.vertical-thumbs .slick-nav {
      padding: 60px 0;
      order: 1;
      height: auto; }
      .gallery-wrapper.vertical-thumbs .slick-nav .slick-prev {
        top: 20px; }
      .gallery-wrapper.vertical-thumbs .slick-nav .slick-next {
        bottom: 20px;
        top: auto; }
      .gallery-wrapper.vertical-thumbs .slick-nav .dummy:first-child {
        margin-top: 0; }
  .gallery-wrapper.horizontal-thumbs {
    display: flex;
    flex-wrap: column;
    flex-wrap: wrap; }
    .gallery-wrapper.horizontal-thumbs .gallery-placeholder {
      width: 100%; }
      @media (min-width: 64em) {
        .gallery-wrapper.horizontal-thumbs .gallery-placeholder.gallery-init {
          max-width: 100%; } }
    .gallery-wrapper.horizontal-thumbs .gallery-placeholder-wrapper {
      width: 100%;
      order: 1; }
    .gallery-wrapper.horizontal-thumbs .slick-nav {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      margin: 25px auto 0;
      order: 1;
      padding: 0 60px;
      width: auto; }
      @media (max-width: 63.99em) {
        .gallery-wrapper.horizontal-thumbs .slick-nav {
          display: none; } }
      .gallery-wrapper.horizontal-thumbs .slick-nav .slick-track {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        padding-left: 15px; }
        @media (min-width: 64.01em) {
          .gallery-wrapper.horizontal-thumbs .slick-nav .slick-track {
            padding-left: 25px; } }
      .gallery-wrapper.horizontal-thumbs .slick-nav .slick-arrow {
        height: 100%;
        top: 0;
        width: 60px;
        background-color: transparent;
        border: 0;
        font-size: 0;
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: center; }
        .gallery-wrapper.horizontal-thumbs .slick-nav .slick-arrow.slick-prev {
          left: 0;
          background-image: url("../images/icons/arrow-left@1x.svg"); }
        .gallery-wrapper.horizontal-thumbs .slick-nav .slick-arrow.slick-next {
          right: 0;
          left: auto;
          background-image: url("../images/icons/Path-3@1x.svg"); }
      .gallery-wrapper.horizontal-thumbs .slick-nav .dummy {
        display: inline-block; }
        .gallery-wrapper.horizontal-thumbs .slick-nav .dummy:first-child {
          margin-left: 0; }
      @media (min-width: 64em) {
        .gallery-wrapper.horizontal-thumbs .slick-nav {
          max-width: 580px;
          max-height: 86px;
          width: 100%; }
          .gallery-wrapper.horizontal-thumbs .slick-nav .slick-slide,
          .gallery-wrapper.horizontal-thumbs .slick-nav .dummy {
            width: 86px !important;
            margin: 0 30px 0 0; } }

.video-container.image-wrapper {
  position: relative; }
  .video-container.image-wrapper:after {
    display: block;
    content: '';
    width: 48px;
    height: 48px;
    color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("../images/icons/play-button.svg");
    background-repeat: no-repeat;
    background-size: contain; }
  .video-container.image-wrapper:hover {
    cursor: pointer; }
    .video-container.image-wrapper:hover img {
      opacity: 0.8 !important; }

.product-video {
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  max-width: 680px;
  transform: translate(-50%, -50%); }
  .product-video .video-holder {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; }
    .product-video .video-holder iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0; }

.video-container.video-playing img {
  opacity: 0;
  visibility: hidden; }

.video-container.video-playing .product-video {
  opacity: 1;
  visibility: visible; }

.video-container.video-playing.image-wrapper:after {
  opacity: 0;
  visibility: hidden; }

/**
 * 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]
*/
/* 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
 */
.cs-product-details {
  max-width: 124rem; }
  @media (min-width: 48.01em) {
    .cs-product-details {
      margin: 70px auto 0; } }
  @media (max-width: 48em) {
    .cs-product-details {
      padding: 25px 10px 0; } }
  @media (min-width: 64.01em) {
    .cs-product-details__items {
      padding: 0 15px; } }
  @media (min-width: 48.01em) {
    .cs-product-details__items {
      padding: 0 25px; } }
  .cs-product-details__items:before, .cs-product-details__items:after {
    content: '';
    display: table;
    clear: both; }
  .cs-product-details__items > .item.title {
    width: auto;
    position: relative;
    z-index: 2;
    margin: 20px 0 0; }
    @media (min-width: 48.01em) {
      .cs-product-details__items > .item.title {
        float: left;
        margin: 0 5px 0 0; } }
    .cs-product-details__items > .item.title > a.switch {
      text-transform: uppercase;
      font-size: 14px;
      font-family: "PT Sans Narrow";
      background-color: #F4F4F4;
      color: #000;
      height: auto;
      letter-spacing: 2px;
      padding: 12px 15px;
      line-height: 23px;
      border: none;
      display: block;
      font-weight: bold;
      position: relative; }
      @media (max-width: 48em) {
        .cs-product-details__items > .item.title > a.switch:after {
          content: '';
          display: inline-block;
          width: 21px;
          height: 21px;
          background-image: url("../images/icons/plus@1x.svg");
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          right: 18px;
          top: 50%;
          margin-top: -10px; } }
      @media (min-width: 48.01em) {
        .cs-product-details__items > .item.title > a.switch {
          padding: 11px 55px 10px; } }
    .cs-product-details__items > .item.title.active > a.switch {
      padding: 12px 15px;
      border: 1px solid #F4F4F4; }
      @media (min-width: 48.01em) {
        .cs-product-details__items > .item.title.active > a.switch {
          padding: 11px 55px 8px;
          background: #ffffff;
          border-bottom: 1px solid #ffffff; } }
      @media (max-width: 48em) {
        .cs-product-details__items > .item.title.active > a.switch:after {
          content: '';
          display: inline-block;
          width: 22px;
          height: 22px;
          background-image: url("../images/icons/plus26.png");
          background-size: contain;
          background-repeat: no-repeat; } }
  .cs-product-details__items > .item.content {
    background: #ffffff;
    padding: 15px;
    border-top: 0;
    border: 1px solid #F4F4F4;
    box-sizing: border-box;
    width: 100%;
    font-size: 1.6rem;
    line-height: 26px; }
    .cs-product-details__items > .item.content a {
      text-decoration: underline;
      color: #3E3E3E; }
    @media (min-width: 48.01em) {
      .cs-product-details__items > .item.content {
        margin-left: -100%;
        float: right;
        margin-top: 43px;
        padding: 30px; } }
  .cs-product-details .warranty-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; }
    .cs-product-details .warranty-container dt {
      margin-right: 5px; }
  .cs-product-details .additional-attributes {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cs-product-details .additional-attributes li {
      font-size: 1.6rem;
      margin: 0; }
      .cs-product-details .additional-attributes li .label {
        margin-right: 5px;
        font-weight: bold; }

/**
 * 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
 */
/***
 * 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-details-nav {
  display: none;
  font-size: 1.1rem; }
  @media (min-width: 48em) {
    .cs-product-details-nav {
      display: block; } }
  .cs-product-details-nav__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 */ }
  .cs-product-details-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    display: flex;
    padding: 2em 0; }
  .cs-product-details-nav__item {
    margin: 0;
    padding: 0;
    font-size: 1em; }
    .cs-product-details-nav__item:first-child {
      margin-left: -2em; }
    .cs-product-details-nav__item:last-child {
      margin-right: -2em; }
    .cs-product-details-nav__item + .cs-product-details-nav__item {
      border-left: 1px solid #dcdcdc; }
  .cs-product-details-nav__link {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0.5em 2em; }
    .cs-product-details-nav__link, .cs-product-details-nav__link:visited {
      color: #212121; }
  .cs-product-details-nav .counter:before {
    content: '('; }
  .cs-product-details-nav .counter:after {
    content: ')'; }

.cs-container--page-pdp-details-nav {
  background: #ffffff;
  box-shadow: 0px 0px 5px 0px rgba(33, 33, 33, 0.2); }

.cs-container--page-pdp-details-description {
  padding: 0; }

/**
 * Styles for default table with attribute displayed on product page.
 **/
/**
 * 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]
*/
.additional-attributes-wrapper {
  margin-bottom: 0; }

.additional-attributes tbody > tr {
  border: 1px solid #dcdcdc;
  border-left: 0;
  border-right: 0;
  border-collapse: collapse; }
  .additional-attributes tbody > tr + tr {
    border-top: 0; }
  .additional-attributes tbody > tr > th {
    font-weight: 700;
    padding: 1em 1.5em 1em 0 !important; }
  .additional-attributes tbody > tr > td {
    padding: 1em 1.5em 1em 0 !important; }

.additional-attributes__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;
  margin: 0 0 0 0.9em;
  top: -0.01em; }
  @media (max-width: 47.99em) {
    .additional-attributes__badge {
      font-size: 10px;
      max-width: 88px;
      padding: 8px 13px; } }
  .additional-attributes__badge--top {
    background-color: #FF4604;
    color: #ffffff; }
    .additional-attributes__badge--top .additional-attributes__badge-text {
      line-height: normal;
      transform: none;
      text-align: right; }
      .additional-attributes__badge--top .additional-attributes__badge-text + .additional-attributes__badge--top .additional-attributes__badge-text {
        margin-left: 0.5rem; }

.cs-container--page-pdp-details-additional {
  padding: 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]
*/
/* 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]
*/
/* 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-product-details-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 2em; }
  .cs-product-details-main--column {
    flex-direction: column; }
  .cs-product-details-main__column {
    flex: 1 1 100%; }
    @media (min-width: 48em) {
      .cs-product-details-main__column--left {
        flex: 0 0 65%; } }
    .cs-product-details-main__column--right {
      margin-top: 2em; }
      @media (min-width: 48em) {
        .cs-product-details-main__column--right {
          margin-top: 0;
          flex-grow: 0;
          flex-shrink: 0;
          flex-basis: calc(35% - 2em); } }
  .cs-product-details-main__headline {
    position: relative; }
    .cs-product-details-main__headline[tabindex] {
      position: relative; }
      .cs-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]: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-product-details-main__headline[tabindex]:before, .cs-product-details-main__headline[tabindex]:after {
        right: 1.5rem;
        transform: translate3d(0, -50%, 0) !important; }
      .cs-product-details-main__headline[tabindex]:after {
        transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:before {
        transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
        opacity: 0; }
      .cs-product-details-main__headline[tabindex][aria-expanded="true"]:after {
        transform: translate3d(0, -50%, 0) rotate(0) !important; }
  .cs-product-details-main__headline-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: none;
    margin: 1rem 0 2rem; }
    @media (min-width: 48em) {
      .cs-product-details-main__headline-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: none;
        margin: 1rem 0 2rem; } }
  .cs-product-details-main__item {
    width: 100%; }
    .cs-product-details-main__item + .cs-product-details-main__item {
      margin-top: 2em; }

/**
 * 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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-reviews__submit-button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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: 11px 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] {
      cursor: auto;
      background-color: #a6e5b5;
      position: relative; }
      .cs-reviews-summary__button[disabled] span.cs-header-search__button-label {
        z-index: 2;
        position: relative; }
    @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]
*/
.cs-tabs {
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28); }
  .cs-tabs--bar {
    margin: 0 0 0 -1.5rem;
    padding: 0 1.5rem;
    border-bottom: 1px solid #dcdcdc;
    box-shadow: none; }
  .cs-tabs__triggers {
    display: flex;
    overflow: hidden;
    justify-content: space-between; }
    .cs-tabs--bar .cs-tabs__triggers {
      justify-content: flex-start; }
  .cs-tabs__title {
    flex-basis: 50%;
    background: #f0f0f0;
    box-shadow: inset 0 0 5px 0 #696969;
    margin-top: -1px;
    margin-right: -1px;
    padding-top: 0.2rem;
    padding-left: 0.2rem; }
    .cs-tabs__title--active {
      background: #ffffff;
      box-shadow: none;
      margin: 0;
      padding: 0; }
      .cs-tabs__title--active .cs-tabs__title-link {
        cursor: default;
        color: #FF4604; }
        .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link {
          color: #212121;
          box-shadow: none; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:after {
            position: absolute;
            bottom: -1px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #ffffff;
            content: '';
            z-index: 3; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:hover {
            color: #212121; }
        .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs__title--active .cs-tabs__title-link:hover, .cs-tabs__title--active .cs-tabs__title-link:active {
          color: #FF4604; }
          .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:visited, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:hover, .cs-tabs--bar .cs-tabs__title--active .cs-tabs__title-link:active {
            color: #212121; }
    .cs-tabs--bar .cs-tabs__title {
      margin: 0;
      padding: 0;
      flex-basis: auto;
      text-align: center;
      border: 1px solid #dcdcdc;
      border-bottom: none;
      border-left-width: 0;
      box-shadow: none;
      transition: background-color 0.15s linear, color 0.15s linear; }
      .cs-tabs--bar .cs-tabs__title:not(.cs-tabs__title--active):hover {
        background-color: #fdfdfd; }
      .cs-tabs--bar .cs-tabs__title:first-child {
        border-left-width: 1px;
        border-top-left-radius: 5px; }
      .cs-tabs--bar .cs-tabs__title:last-child {
        border-top-right-radius: 5px; }
  .cs-tabs__title-link {
    color: #3E3E3E;
    text-decoration: none;
    line-height: 4rem;
    height: 4rem;
    padding: 0.1rem 1rem;
    display: block;
    position: relative;
    z-index: 2;
    font-weight: 600;
    font-size: 1.2rem; }
    @media (min-width: 40em) {
      .cs-tabs__title-link {
        padding: 0.1rem 2rem; } }
    @media (min-width: 48em) {
      .cs-tabs__title-link {
        font-size: 1.8rem;
        line-height: 5.5rem;
        height: 5.5rem; } }
    .cs-tabs__title-link:hover, .cs-tabs__title-link:active, .cs-tabs__title-link:focus, .cs-tabs__title-link:visited {
      color: #3E3E3E; }
    .cs-tabs__title-link:hover {
      text-decoration: none; }
    .cs-tabs--bar .cs-tabs__title-link {
      position: relative;
      height: auto;
      line-height: 120%;
      font-size: 1.2rem;
      padding: 0.6rem 0.5rem;
      font-weight: 300;
      white-space: nowrap; }
      @media (min-width: 40em) {
        .cs-tabs--bar .cs-tabs__title-link {
          padding: 0.8rem 1.5rem; } }
      .cs-tabs--bar .cs-tabs__title-link:hover, .cs-tabs--bar .cs-tabs__title-link:active, .cs-tabs--bar .cs-tabs__title-link:focus, .cs-tabs--bar .cs-tabs__title-link:visited {
        color: #212121; }
  .cs-tabs--bar .cs-tabs__title-span:not(:empty):before {
    content: '('; }
  .cs-tabs--bar .cs-tabs__title-span:not(:empty):after {
    content: ')'; }
  .cs-tabs__content {
    padding: 2rem; }

/** 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: 0; }
      @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;
    color: #000; }
  .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: #FF4604;
      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: #FF4604;
        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 #FF4604; }
        .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: #FF4604;
          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: #FF4604;
            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: #FF4604; }
  .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 */
.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: 11px 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] {
    cursor: auto;
    background-color: #a6e5b5;
    position: relative; }
    .cs-captcha__button[disabled] span.cs-header-search__button-label {
      z-index: 2;
      position: relative; }
  .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]
*/
.cs-video-player {
  max-height: calc(100vh - 12rem); }
  .cs-video-player__wrapper {
    display: none; }
    .cs-video-player__modal .cs-video-player__wrapper {
      display: block; }
  .cs-video-player__modal {
    display: block;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0; }
    .cs-video-player__modal._show .modal-inner-wrap {
      transform: translateY(-50%); }
    @media (max-width: 47.99em) {
      .cs-video-player__modal._show {
        left: 0; }
        .cs-video-player__modal._show .action-close:before {
          font-size: 5.5rem;
          line-height: 5.5rem; } }
    .cs-video-player__modal .modal-inner-wrap {
      overflow: hidden;
      top: 50%; }
      @media (max-width: 47.99em) {
        .cs-video-player__modal .modal-inner-wrap {
          width: 100% !important;
          background: #ffffff;
          padding: 1rem;
          box-sizing: border-box; } }
      @media (min-width: 48em) {
        .cs-video-player__modal .modal-inner-wrap {
          width: 98vw;
          max-height: 94vh !important;
          margin: auto !important;
          padding: 3rem; } }
      @media (min-width: 64em) {
        .cs-video-player__modal .modal-inner-wrap {
          width: 86vw; } }
    .cs-video-player__modal .cs-modal__header {
      width: 100%;
      margin: 0;
      text-align: right;
      padding: 0 !important;
      box-sizing: border-box; }
      @media (max-width: 47.99em) {
        .cs-video-player__modal .cs-modal__header {
          min-height: 4.5rem; } }
    .cs-video-player__modal .cs-modal__close {
      margin: 0 !important; }
    .cs-video-player__modal .cs-modal__content {
      width: 100%;
      box-sizing: border-box;
      padding: 0 !important; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3BkcC5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb25maWcvYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYmFzZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbmZpZy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZm9udC1mYW1pbHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYnVuZGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2luY2x1ZGUtbWVkaWEvZGlzdC9faW5jbHVkZS1tZWRpYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3V0aWxpdHktY2xhc3Nlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL25vLXJvb3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9jb250YWluZXIvY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvTWFnZW50b19UaGVtZS93ZWIvY3NzL3NvdXJjZS9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2F1dGhvcml6YXRpb24tbGluay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYXV0aG9yaXphdGlvbi1saW5rL2F1dGhvcml6YXRpb24tbGluay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2xpbmsuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYWRkdG9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYnV0dG9uL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9hZGR0b2NhcnQvYWRkdG9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2F1dG9jb21wbGV0ZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JhZGdlL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JhZGdlL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcmVzZXQtbGlzdC1zdHlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1dHRvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9jb21wb25lbnQtc3BhY2luZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29va2llLW1lc3NhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Nvb2tpZS1tZXNzYWdlL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZGlzcGxheS1jb250cm9sbGVyL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kcm9wZG93bi1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHNldWRvaWNvbi9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9kcm9wZG93bi1zd2l0Y2hlci9kcm9wZG93bi1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9maWVsZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2ZpZWxkL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy92aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvb3Rlci1saW5rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9ncmlkLWxheW91dC9ncmlkLWxheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9ncmlkLWxheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2FzcGVjdC1yYXRpby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcG9seS1mbHVpZC1zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci9zZWFyY2gvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3VzZXItbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci91c2VyLW5hdi91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9sYXp5bG9hZC9sYXp5bG9hZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9saW5rcy1ibG9jay1hZGR0by5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbGlua3MtYmxvY2stYWRkdG8vbGlua3MtYmxvY2stYWRkdG8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbG9nby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbG9nby9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWluaWNhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9taW5pY2FydC9taW5pY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWluaWNhcnQtcHJvZHVjdC9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ZyZWUtc2hpcHBpbmctaW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9mcmVlLXNoaXBwaW5nLWluZGljYXRvci9mcmVlLXNoaXBwaW5nLWluZGljYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbmF2aWdhdGlvbi90ZWFzZXIvdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL25ld3NsZXR0ZXIvbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLXRvZ2dsZS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLW5hdmlnYXRpb24vb2ZmY2FudmFzLW5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzL29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcGFnZS10aXRsZS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3BhZ2UtYm90dG9tLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcGFnZS1ib3R0b20vZ3JpZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3BhZ2UtYm90dG9tL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcGFnZS1ib3R0b20vcGFnZS1ib3R0b20uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJpY2UtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L3ByaWNlLWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LXRpbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9zdHJpbmctdG8tbnVtYmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC10aWxlL3Byb2R1Y3QtdGlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wd2Etbm90aWZpY2F0aW9uLXBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wd2Etbm90aWZpY2F0aW9uLXBhbmVsL3B3YS1ub3RpZmljYXRpb24tcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcXR5LWluY3JlbWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1pbmNyZW1lbnQvcXR5LWluY3JlbWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc29jaWFsLW1lZGlhLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NvY2lhbC1tZWRpYS1saXN0L3NvY2lhbC1tZWRpYS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N0YXItcmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zd2F0Y2hlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3dhdGNoZXMvc3dhdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdGlsZS1nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90aWxlLWdhbGxlcnkvdGlsZS1nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RvcGJhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RvcGJhci90b3BiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdXNwcy91c3BzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3VzcHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlbGVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdC1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wcm9kdWN0LW5hdmlnYXRpb24vcHJvZHVjdC1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3B3YS1ub3RpZmljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3B3YS1ub3RpZmljYXRpb24vcHdhLW5vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbm9uLWNyaXRpY2FsL25vbi1jcml0aWNhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9icmFuZC1jYXJvdXNlbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3ZlbmRvcnMvc3dpcGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90ZWFzZXIvaG9va3MvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGVhc2VyL2hvb2tzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYnJhbmQtY2Fyb3VzZWwvYnJhbmQtY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2NhdGVnb3J5LWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbmZpZy9ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY2F0ZWdvcnktbGlua3MvY2F0ZWdvcnktbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY2F0ZWdvcnktbGlua3MtZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NhdGVnb3J5LWxpbmtzL2NhdGVnb3J5LWxpbmtzLWRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2RhaWx5LWRlYWwtdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9kYWlseS1kZWFsLXRlYXNlci9kYWlseS1kZWFsLXRlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kYWlseWRlYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2RhaWx5ZGVhbC9kYWlseWRlYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9yaWdodC1zaWRlLXNrZXcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaW1hZ2UtdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaW1hZ2UtdGVhc2VyL2ltYWdlLXRlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9jb250cmFzdC1vcHRpbWl6ZXJzL2dyYWRpZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zL2NvbnRyYXN0LW9wdGltaXplcnMvdGV4dC1zaGFkb3cuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaW1hZ2UtdGVhc2VyLWxlZ2FjeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvaW1hZ2UtdGVhc2VyLWxlZ2FjeS9pbWFnZS10ZWFzZXItbGVnYWN5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbWFnZS10ZWFzZXItbGVnYWN5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3BhcmFncmFwaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3BhcmFncmFwaC9wYXJhZ3JhcGguc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdHMtY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0cy1jYXJvdXNlbC9wcm9kdWN0cy1jYXJvdXNlbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0cy1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdHMtZ3JpZC9wcm9kdWN0cy1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3RzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJvZHVjdC1maW5kZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtZmluZGVyL3Byb2R1Y3QtZmluZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlcGFyYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc2VwYXJhdG9yL3NlcGFyYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1bmRsZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9idW5kbGUtYm94L2J1bmRsZS1ib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYnV5Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL21peGlucy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1eWJveC9idXlib3guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZm9ybS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Zvcm0vZm9ybS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9sb3ctc3RvY2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2luZGljYXRvcnMvbG93LXN0b2NrLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zhc3Qtc2hpcHBpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2luZGljYXRvcnMvZmFzdC1zaGlwcGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mcmVlLXNoaXBwaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL2ZyZWUtc2hpcHBpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcmVjZW50bHktYm91Z2h0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3JlY2VudGx5LWJvdWdodC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9leHBlY3RlZC1kZWxpdmVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9leHBlY3RlZC1kZWxpdmVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LWdhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LWdhbGxlcnkvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1nYWxsZXJ5L3Byb2R1Y3QtZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LWRldGFpbHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC1kZXRhaWxzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Byb2R1Y3QtZGV0YWlscy9uYXYvbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWxzL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWxzL2FkZGl0aW9uYWwvYWRkaXRpb25hbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hZGRpdGlvbmFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21haW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbHMvbWFpbi9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Jldmlldy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcmV2aWV3L3Jldmlldy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9yZXZpZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9yZXZpZXdzL3Jldmlld3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcmV2aWV3cy1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9yZXZpZXdzLXN1bW1hcnkvcmV2aWV3cy1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RhYnMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RhYnMvdGFicy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdGFibGUvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RhYmxlL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90b29sYmFyL2Ftb3VudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvc29ydGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci9ob29rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvbGltaXRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Rvb2xiYXIvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci9wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9vbGJhci92aWV3bW9kZS1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9jYXB0Y2hhL2NhcHRjaGEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdmlkZW8tcGxheWVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbi8vIEJyZWFrcG9pbnRzIGltcG9ydCBmcm9tIHZpZXcueG1sIFtweF1cbiRicmVha3BvaW50c19weDogZGVlcC1nZXQoJHZpZXcteG1sLCB2YXJzLCBNYWdlbnRvX1RoZW1lLCBicmVha3BvaW50cyk7XG4kYnJlYWtwb2ludHNfZW06ICgpO1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZS1icmVha3BvaW50cygkYnJlYWtwb2ludHNfZW0sICRicmVha3BvaW50c19weCkge1xuICAgICRyZXN1bHQ6ICRicmVha3BvaW50c19lbTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzX3B4IHtcbiAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKFxuICAgICAgICAgICAgJHJlc3VsdCxcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB1bnF1b3RlKCRrZXkpOiAkdmFsdWUgLyAxNiAqIDFlbSxcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuXG4kYnJlYWtwb2ludHM6IGNhbGN1bGF0ZS1icmVha3BvaW50cygkYnJlYWtwb2ludHNfZW0sICRicmVha3BvaW50c19weCkgIWRlZmF1bHQ7XG5cbi8vIHBob25lOiAyMy4xMjVlbSAtIDM3MHB4XG4vLyBwaG9uZUxnOiAzMGVtIC0gNDgwcHgsXG4vLyB0YWJsZXQ6IDQ4ZW0gLSA3NjhweCxcbi8vIGxhcHRvcDogNjRlbSAtIDEwMjRweCxcbi8vIGxhcHRvcExnOiA4MGVtIC0gMTI4MHB4LFxuLy8gZGVza3RvcDogOTBlbSAtIDE0NDBweCxcbi8vIHR2OiAxMjBlbSAtIDE5MjBweCxcbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMi42cmVtO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGNvbG9yOiAjM0UzRTNFOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4vKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbmlucHV0W3R5cGU9J251bWJlciddIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuIiwiLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQGZ1bmN0aW9uIGRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvZm9udC1mYW1pbHknO1xuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gICAgYmFja2dyb3VuZDogJHBhZ2VfYmFja2dyb3VuZDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgLy8gaGlkZXMgaG9yaXpvbnRhbCBzY3JvbGxiYXIgb24gRWRnZSBhbmQgSUVcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRmb250X2ZhbWlseS1wcmltYXJ5KTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjZyZW07XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGNvbG9yOiAkY29sb3JfYm9keS10ZXh0O1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuQGlmICRpbnB1dF9yZW1vdmUtbnVtYmVyLWFwcGVhcmFuY2Uge1xuICAgIC8qIEhpZGUgSFRNTDUgVXAgYW5kIERvd24gYXJyb3dzLiAqL1xuICAgIGlucHV0W3R5cGU9J251bWJlciddIHtcbiAgICAgICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBmb250LWZhbWlseSgkZm9udHMuLi4pIHtcbiAgICBAaWYgJGZvbnRzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250cywgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OWVtKSB7XG4gIC5jcy1oaWRlLWxhcHRvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovIH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWhpZGUtdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfSB9XG5cbi5jcy1uby1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9XG5cbi5jcy1hc3BlY3QtcmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgLmNzLWFzcGVjdC1yYXRpb19fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDEsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMywgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgdWwuYnV0dG9ucy1zZXQsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgdWwuYnV0dG9ucy1zZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB1bC5idXR0b25zLXNldCBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nOiA0NXB4IDE1cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMzhyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB1bC5idXR0b25zLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9XG4gICAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmNzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuY3MtY29udGFpbmVyX19pbm5lciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgbWF4LXdpZHRoOiAxMjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXI6YmVmb3JlLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9faW5uZXI6YWZ0ZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXgge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXgge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMjQuOCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAyNC44JTsgfSB9XG4gIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA3MS40JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDcxLjQlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4tLXNwYWNlLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfSB9XG4gICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY3MtY29udGFpbmVyLS1zcGFjaW91cyxcbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCwgLmNzLWNvbnRhaW5lci0tc3RvcmUtbG9jYXRvciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWNvbnRhaW5lci0taGVyby10ZWFzZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tbm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1wZHAge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS11c3BzIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNyZWF0ZS1hY2NvdW50LXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ2luLXBhZ2UsIC5jcy1jb250YWluZXItLXN1Y2Nlc3MtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9nb3V0LXBhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNyZWF0ZS1hY2NvdW50LXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ2luLXBhZ2UsIC5jcy1jb250YWluZXItLXN1Y2Nlc3MtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9nb3V0LXBhZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tbXktYWNjb3VudC1wYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1vbnRvcCB7XG4gICAgei1pbmRleDogMzAxOyB9XG4gIC5jcy1jb250YWluZXItLXZpZXdwb3J0LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1kZXRhaWxzLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0tcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY21zLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jbXMtY29udGFjdC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDIwcHggMCA4MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNtcy1jb250YWN0LWZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMjBweCAwIDQ1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIHtcbiAgICBmbGV4OiAxIDEgNjglOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0ID4gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkIHtcbiAgICAgIGZsZXg6IDEgMSA0OCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSAucHJpbWFyeSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3MgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzcyBwLFxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3Mgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIC5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21hcC1waW4uc3ZnXCIpOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3MgLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGhvbmUtZGFyay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3MgLmljb24tZW1haWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZW1haWxAMXguc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMTdweDtcbiAgICB0b3A6IDZweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgZmxleDogMSAxIDMzJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMS41cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtY29udGFpbmVyX19yZXZpZXdzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXI6bm90KC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsKSAuY3MtY29udGFpbmVyX19pbm5lcixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyOm5vdCguY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCkgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gIG1heC13aWR0aDogMTAzcmVtOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwdnc7IH1cblxuLm5vLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5uby1zY3JvbGwtY2hpbGQge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4jbWFpbmNvbnRlbnQge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9IH1cblxuLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDJyZW0gMCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwcmVtOyB9XG5cbi5wYWdlLWxheW91dC0xY29sdW1uIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuc2lkZWJhci1tYWluLFxuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICB3aWR0aDogMjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjBmMGYwOyB9IH1cblxuLmllMTEgLnBhZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuYSB7XG4gIGNvbG9yOiAjRkY0NjA0OyB9XG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICNGRjc0NDI7IH1cblxuLmdpZnQtb3B0aW9ucy1jYXJ0LWl0ZW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAucGF5cGFsLXJldmlldy52aWV3IC5jcy1jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAucGF5cGFsLXJldmlldy52aWV3IC5jcy1jYXJ0LWl0ZW1fX3N1YnRvdGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGF5cGFsLXJldmlldy52aWV3IHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG5cbi5wYXlwYWwtZXhwcmVzcy1pbi1jb250ZXh0LW1pbmktY2FydC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uYW1hem9uLWJ1dHRvbi1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDMwMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDMycmVtOyB9IH1cbiAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbDpudGgtY2hpbGQoMikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgbGVmdDogY2FsYygxMDAlICsgMC42cmVtKTtcbiAgICB0b3A6IDEuOXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGw6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44cmVtKTsgfSB9XG4gIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogMjVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMjhyZW07IH0gfVxuICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCxcbiAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogNDJweDtcbiAgICAgIGxlZnQ6IC0yMTBweDtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCxcbiAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgbGVmdDogLTI1MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICBsZWZ0OiAtMjMycHg7IH0gfVxuICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMjUwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogMjMycHg7IH0gfVxuICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAyMTBweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMjUxcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMjMzcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuXG4uaWUxMSBzb3VyY2Uge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi8vIFRPRE86IFJlbW92ZSBhZnRlciBnZXR0aW5nIHJpZCBvZiB0aGVzZSBmcm9tIHRlbXBsYXRlc1xuLmNzLWhpZGUtbGFwdG9wIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgfVxufVxuXG4uY3MtaGlkZS10YWJsZXQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgfVxufVxuXG4uY3Mtbm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xufVxuXG4uY3MtYXNwZWN0LXJhdGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG5cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbkBtaXhpbiBjb250YWluZXIoJGhvcml6b250YWwtcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGhvcml6b250YWwtcGFkZGluZztcbn1cblxuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG5AbWl4aW4gY29udGFpbmVyLW5lZ2F0ZWQoJGhvcml6b250YWwtcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGhvcml6b250YWwtcGFkZGluZyk7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIG1hcmdpbi1yaWdodDogLSRob3Jpem9udGFsLXBhZGRpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbkBtaXhpbiBjb250YWluZXItd3JhcHBlcigkbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGgpIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4iLCJib2R5LmNtcy1uby1yb3V0ZSB7XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMixoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29sdW1ucyB7XG4gICAgICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM4cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogMjhweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMixoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL25vLXJvb3QnO1xuXG4kY29udGFpbmVyX2JhY2tncm91bmQtdG9wLWJhcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItd3JhcHBlcigpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmxleCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMjQuOCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDI0LjglO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNTYlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MS40JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogNzEuNCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vbWluLWhlaWdodDogMzByZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCdW5kbGUgcHJvZHVjdHMgZG8gbm90IGhhdmUgc3RpY2t5IGJ1eWJveCBhbmQgc2hvdWxkIGhhdmUgYW5vdGhlciBsYXlvdXQuXG4gICAgICAgIC8vIE9uIHRhYmxldCBnYWxsZXJ5IGNvdmVyZWQgYnV5Ym94IGFuZCBhcyBhIHJlc3VsdCBpdCB3YXMgaW1wb3NzaWJsZSB0byBjbGljayBhdCBhbnl0aGluZyB0aGVyZS5cbiAgICAgICAgLy8gQ29kZSBiZWxvdyBzaG91bGQgYmUgcmV2aWV3ZWQgZHVyaW5nIHJlZmFjdG9yaW5nIGNvbnRhaW5lcnMgYW5kIHBkcCAoUERQIDIuMClcbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zcGFjZS10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3cyB7XG4gICAgICAgIEBleHRlbmQgLiN7JG5zfWNvbnRhaW5lcl9faW5uZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgICZfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dhbGxlcnk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG9wLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgJixcbiAgICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCxcbiAgICAmLS1zdG9yZS1sb2NhdG9yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYtLWdyaWQtdGVhc2VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0taGVyby10ZWFzZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0tbm9zY3JvbGwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtLXBkcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdXNwcyB7XG4gICAgICAgICN7JHJvb3R9LS1oZWFkbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY3JlYXRlLWFjY291bnQtcGFnZSxcbiAgICAmLS1sb2dpbi1wYWdlLFxuICAgICYtLXN1Y2Nlc3MtcGFnZSxcbiAgICAmLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbXktYWNjb3VudC1wYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW9udG9wIHtcbiAgICAgICAgei1pbmRleDogMzAxO1xuICAgIH1cblxuICAgICYtLXZpZXdwb3J0LXdpZHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYtLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYXJ0LXBhZ2Uge1xuICAgICAgICAjeyRyb290fS0tcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1oZWFkbGluZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY21zLXRlYXNlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0LWluZGV4LWluZGV4IHtcbiAgICAuY3MtYnJlYWRjcnVtYnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmNzLWNtcy1jb250YWN0LWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDgwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgNDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWFpbiB7XG4gICAgICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA2OCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWVsZHNldC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZsZXgtcm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIDQ4JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9saWdodC1ncmF5O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pdGVte1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLXRleHR7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tYXAtcGluLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLXBob25le1xuICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGhvbmUtZGFyay5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWVtYWlsIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9lbWFpbEAxeC5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAzMyU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93LFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW17XG4gICAgLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWx7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyB7XG4gICAgICAgIC5jcy1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvd3tcbiAgICAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyxcbiAgICAuY29sdW1ucyAuY3MtY29udGFpbmVyOm5vdCguY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCl7XG4gICAgICAgIC5jcy1jb250YWluZXJfX2lubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAzcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvY29udGFpbmVyJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuJG5zOiAnY3MtJztcbiRsYXlvdXRfcGFkZGluZzogJG1haW4tY29sdW1uX3BhZGRpbmc7XG5cbmJvZHksXG5odG1sIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbn1cblxuLm5vLXNjcm9sbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ubm8tc2Nyb2xsLWNoaWxkIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDsgLy8gT3ZlcmZsb3cgaGFzIGJlZW4gbW92ZWQgdG8gY2hpbGQgZWxlbWVudCBpbiBvcmRlciB0byBtYWludGFpbiB2aXNpYmlsaXR5IG9mIGl0ZW1zIGluIHRoZSBiYWNrZ3JvdW5kXG59XG5cbiNtYWluY29udGVudCB7XG4gICAgZmxleDogMSAwIGF1dG87XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6ICRsYXlvdXRfcGFkZGluZztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTByZW07XG59XG5cbi5wYWdlLWxheW91dC0xY29sdW1uIHtcbiAgICAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQge1xuICAgICAgICAuc2lkZWJhci1tYWluLFxuICAgICAgICAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMi41JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3JfZ2FsbGVyeTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmllMTEgLnBhZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2U7XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3JfYmFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXI7XG4gICAgfVxufVxuXG4uZ2lmdC1vcHRpb25zLWNhcnQtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9QYXlwYWwgbW9kdWxlXG4ucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgfVxufVxuXG4ucGF5cGFsLXJldmlldy52aWV3IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgLiN7JG5zfWNhcnQtaXRlbV9fcHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIH1cbn1cblxuLnBheXBhbC1leHByZXNzLWluLWNvbnRleHQtbWluaS1jYXJ0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnBheXBhbC1yZXZpZXctZGlzY291bnQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8vQW1hem9uIFBheSBsb2dpbiBidXR0b25cblxuLy9UaGUgaGlnaGVzdCBvZiBhbGwgYW1hem9uIHBheSBjb250YWluZXJzXG4vL1Nob3VsZCBub3QgYmUgdG9vIGxvbmdcbi8vaW4gbWluaWNhcnQsIHNhbGUgYmxvY2ssIGNoZWNrb3V0IHN1bW1hcnkgaXQgc2hvdWxkIGJlIGNlbnRlclxuLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMzAzO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBtYXgtd2lkdGg6IDMycmVtO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fY2VsbCB7XG4gICAgICAgIC8vSW5mbyBzaWduIGVsZW1lbnQgLSBpcyBwbGFjZWQgYWJzb2x1dGVseSB0byBub3QgdGFrZSBwbGFjZSB3aGVuIGJ1dHRvbiBpcyBjZW50ZXJlZFxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDNyZW07XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjZyZW0pO1xuICAgICAgICAgICAgdG9wOiAxLjlyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vVG9vbHRpcCBzdHlsZSBhbmQgcG9zaXRpb25cbiAgICAgICAgLy9BcnJvdyBwb3NpdGlvblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNXJlbTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy9Nb3ZlIHRvb2x0aXAgZnJvbSByaWdodCB0byB0b3AgYmVjYXVzZSB0aGVyZSBpcyBubyBzcGFjZSBpbiBvdXIgc2hvcHMgb24gdGhlIHJpZ2h0XG4gICAgICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAmLFxuICAgICAgICAgICAgLiN7JG5zfWNhcnQtc3VtbWFyeSAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0yMTBweDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTI1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTIzMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIzMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjUxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjMzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2FydCBzdW1tYXJ5IHRvb2x0aXAgbmVlZHMgc21hbGwgYWRqdXN0bWVudHNcbiAgICAgICAgICAgIC4jeyRuc31jYXJ0LXN1bW1hcnkgJiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWUxMSBzb3VyY2Uge1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1hdXRob3JpemF0aW9uLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjlyZW07XG4gIHBhZGRpbmc6IDAgMCAwIDAuM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmsge1xuICAgICAgcGFkZGluZzogMCAwIDAgMS4zcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTsgfSB9XG4gIC5jcy1hdXRob3JpemF0aW9uLWxpbms6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2ZmZmZmZjtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTsgfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rIHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmFjdGl2ZSwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzNFM0UzRTsgfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzNFM0UzRTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvbGluayc7XG5cbiRhdXRob3JpemF0aW9uLWxpbmtfaXRlbS1ib3JkZXI6IDAuMnJlbSBzb2xpZCAkY29sb3JfYm9yZGVyLTEwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaXRlbS1ib3JkZXItdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWF1dGhvcml6YXRpb24tbGluayB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjlyZW07XG4gICAgcGFkZGluZzogMCAwIDAgMC4zcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjNyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjdyZW07XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhdXRob3JpemF0aW9uLWxpbmtfaXRlbS1ib3JkZXI7XG4gICAgICAgIHRyYW5zZm9ybTogJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlci10cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAkYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLFxuICAgICAgICAgICAgJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlclxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gbGluayhcbiAgICAkbGluayxcbiAgICAkYWN0aW9uLFxuICAgICR2aXNpdGVkOiAkYWN0aW9uLFxuICAgICRob3ZlcjogJGFjdGlvbixcbiAgICAkYWN0aXZlOiAkYWN0aW9uLFxuICAgICRzaXplOiBmYWxzZVxuKSB7XG4gICAgJiB7XG4gICAgICAgIEBpZiAoJHNpemUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XG4gICAgICAgIH1cbiAgICAgICAgY29sb3I6ICRsaW5rO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJHZpc2l0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtYnV5Ym94X191cGRhdGUge1xuICBwYWRkaW5nOiAxNHB4O1xuICBtYXgtd2lkdGg6IDIxOXB4OyB9XG5cbi5jcy1hZGR0b2NhcnQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHBhZGRpbmc6IDEzcHggMTRweDtcbiAgICBtYXgtd2lkdGg6IDIxOXB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRBOTBFMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHNwYW4sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTkwRTI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QTkwRTI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphZnRlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOnZpc2l0ZWQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKTphZnRlciB7XG4gICAgICAgIHRvcDogMnB4OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTgwQzE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNkJFQzU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNkJFQzU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbltkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZCRUM1O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbltkaXNhYmxlZF0gKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHN2Zy5jcy1hZGR0b2NhcnRfX2NvbmZpZ3VyZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24uY29uZmlndXJlIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHRvcDogM3B4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqIHtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzLWFkZHRvY2FydF9fY29uZmlndXJlLWljb24sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBsZWZ0OiAzM3B4O1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB6LWluZGV4OiA0O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTEge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTIge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMTVzICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMyB7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcyAhaW1wb3J0YW50OyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5LCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayB7XG4gICAgICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICB6LWluZGV4OiA0MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAudWktZGlhbG9nLCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAudWktZGlhbG9nIHtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIsIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAzLjJyZW0gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgICAgbWluLXdpZHRoOiAxMjVweDsgfSB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS1zdGlja3kgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayxcbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgIGFuaW1hdGlvbjogbWluaWNhcnQtaW4gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rIHtcbiAgICBhbmltYXRpb246IG1pbmljYXJ0LW91dCAwLjVzIGN1YmljLWJlemllcigwLjU1LCAwLjIsIDAuODksIDAuNDUpOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksIGxlZnQgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICAgICAgdG9wOiAxLjNyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNS4zcmVtOyB9IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tbWluaWNhcnQtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDEuOHJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyZW0sIDAsIDApOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTEuMjVlbSk7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbCB7XG4gICAgICBhbmltYXRpb246IGJhbGwtaW4gMXMgaW5maW5pdGU7IH1cbiAgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24taWNvbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNS4zcmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcsIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCxcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLCB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmUtcXR5LWJhZGdlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgLmNzLWFkZHRvY2FydCAuYmxvY2stbWluaWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiIsIi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cblxuQGZ1bmN0aW9uIGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlLCAkc2lkZSkge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdmFyaWFibGUpO1xuXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSBPUiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSAzKSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ2xlZnQnKSBPUiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSA0KSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJ1dHRvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX2ljb24taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLXR5cGU6ICdhZGR0bycgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uOiBsZWZ0ICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24tY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24taGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXdpZHRoICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjogMzNweCAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9idXR0b24tc2tld2VkLWJhY2tncm91bmQtd2lkdGg6IDUuMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctbGVmdDogMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctcmlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9mZWVkYmFjay1iZy1za2V3OiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1iZy1wcmltYXJ5OiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1iZy1zZWNvbmRhcnk6ICRjb2xvcl9zdWNjZXNzLTYwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1maWxsOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9hamF4LWZhaWwtYmctcHJpbWFyeTogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWJnLXNlY29uZGFyeTogJGNvbG9yX2Vycm9yLTYwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1maWxsOiAkYWRkdG9jYXJ0X2FqYXgtZmFpbC1jb2xvciAhZGVmYXVsdDtcblxuLmNzLWJ1eWJveF9fdXBkYXRlIHtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIG1heC13aWR0aDogMjE5cHg7XG59XG5cbi4jeyRuc31hZGR0b2NhcnQge1xuICAgICRyb290OiAmO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLy8gYmVjYXVzZSBidXR0b24gY2FuJ3QgaGF2ZSBvdmVyZmxvdywgd2UgbmVlZCB0byBhZGQgaXQgb24gYnV0dG9uIHdyYXBwZXJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICApO1xuXG4gICAgICAgIHN2Zy5jcy1hZGR0b2NhcnRfX2NvbmZpZ3VyZS1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbmZpZ3VyZSB7XG4gICAgICAgICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gICAgICAgIG1heC13aWR0aDogMjE5cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zdWNjZXNzLWljb24ge1xuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2ZhaWwtbGFiZWwge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fZmFpbC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRhZGR0b2NhcnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2NvbmZpZ3VyZS1pY29uLFxuICAgICZfX2J1dHRvbi1pY29uLFxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYWRkdG9jYXJ0X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9idXR0b24taWNvbi1oZWlnaHQ7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgIEBpZiAoJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiA9PSAncmlnaHQnKSBvciAoJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICN7JGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbn06ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tZWRnZS1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgIH1cblxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2xvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZSAqIDQ7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcblxuICAgICAgICAmLWJhbGwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3MgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtbGFiZWwsXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLWljb24sXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxLjcyNWVtO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fZmFpbC1sYWJlbCB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19taW5pY2FydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi0tc3RpY2t5LFxuICAgICAgICAmLS11bnN0aWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21pbmljYXJ0LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICB9XG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tc3RpY2t5ICYsXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tdW5zdGljayAmIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtaW5pY2FydC1pbiAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtLXVuc3RpY2sgJiB7XG4gICAgICAgICAgICBhbmltYXRpb246IG1pbmljYXJ0LW91dCAwLjVzIGN1YmljLWJlemllcigwLjU1LCAwLjIsIDAuODksIDAuNDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIge1xuICAgICAgICAkYmFkZ2Utd3JhcHBlcjogJjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDYwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLFxuICAgICAgICAgICAgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgJi0tYW5pbWF0aW5nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1LjNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjeyRiYWRnZS13cmFwcGVyfS0tbWluaWNhcnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtcXR5LWJhZGdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9hZGluZyxcbiAgICAmLS1kb25lIHtcbiAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyZW0sIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9hZGluZyB7XG4gICAgICAgICN7JHJvb3R9X19sb2FkaW5nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTEuMjVlbSk7IC8vIGNhbGMoKSBkb2Vzbid0IHdvcmsgaW4gSUUgc28gaSBoYWQgdG8gZHVwbGljYXRlIHRyYW5zbGF0ZVgoKSB0cmFuc2Zvcm0gdG8gYWRqdXN0IFggcG9zaXRpb25cblxuICAgICAgICAgICAgJi1iYWxsIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGJhbGwtaW4gMXMgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kb25lIHtcbiAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZmVlZGJhY2stYmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAkYWRkdG9jYXJ0X2ZlZWRiYWNrLWJnLXNrZXcgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoXG4gICAgICAgICAgICAgICAgICAgIC0jeyRhZGR0b2NhcnRfYnV0dG9uLXNrZXdlZC1iYWNrZ3JvdW5kLXdpZHRoICsgMC4yfSxcbiAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mYWlsIHtcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYW5pbWF0aW9uLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWxhYmVsLFxuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mZWVkYmFjay1iZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwsXG4gICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGxpbmVhcixcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbixcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBAa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG1pbmljYXJ0LW91dCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbW92ZS1xdHktYmFkZ2Uge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDE1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2FuaW1hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9ob29rJztcblxuLy8gRGVmaW5lIGRlZmF1bHQgdHlwZSBmb3IgYnV0dG9ucy4gWW91IGNhbiBvdmVycmlkZSBpdCBpbmRpdmlkdWFsbHkgcGVyIGJ1dHRvbiBpbiBlYWNoIGNvbXBvbmVudFxuLy8gVmFyaWFudHM6IHByaW1hcnkgfCBzZWNvbmRhcnkgfCBsaW5rIHwgc3VjY2VzcyB8IGVycm9yXG4kYnV0dG9uX2RlZmF1bHQtdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuXG4vLyBEZWZpbmUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgaWNvbnMgaW4gYnV0dG9uLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogbGVmdCB8IHJpZ2h0IHwgbm8taWNvbiB8IG9ubHktaWNvblxuJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zOiAncmlnaHQnICFkZWZhdWx0O1xuXG4vLyBHZW5lcmFsIHN0eWxlcyBmb3IgYnV0dG9uc1xuJGJ1dHRvbl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRidXR0b25fZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZzogMC43NWVtIDFlbSAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZy13aGVuLWljb246IDNlbSAhZGVmYXVsdDtcbiRidXR0b25fbGluZS1oZWlnaHQ6IDEuMjc1ZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2JvcmRlci1yYWRpdXM6IDI1cHggIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nOiBub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbl9zaXplLWRlZmF1bHQ6ICdyZWd1bGFyJyAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgYWRkIHRvIGNhcnRgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2FkZHRvLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tYmFja2dyb3VuZDogJGNvbG9yX2FkZF90b19jYXJ0ICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDogIzQ5ODBDMSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM6IDI1cHggIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBwcmltYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9wcmltYXJ5LWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWRpc2FibGVkLWJhY2tncm91bmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgc2Vjb25kYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYm9keS10ZXh0ICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTdHlsZSBmb3IgYGxpbmtgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay0taG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay1pY29uLXBhZGRpbmc6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHN1Y2Nlc3NgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3N1Y2Nlc3MtYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgZXJyb3JgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2Vycm9yLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEZWZpbmVzIGhvdyBtdWNoIGJ1dHRvbiBpY29uIHNob3VsZCBiZSBwdWxsZWQgdmVydGljYWxseSB0byBjZW50ZXIgaXQuXG4vLyBTaG91bGQgYmUgZGVmaW5lZCBpbiBlbSB0byBtYWtlIGl0IHJlbGF0aXZlIHRvIGJ1dHRvbidzIGZvbnQgc2l6ZS5cbiRidXR0b25fc3Bhbi1mb250LW9mZnNldDogMCAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0IG9uIGljb24gYnV0dG9uLlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX2ljb24tb2Zmc2V0OiAwLjFlbSAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tY2FsYy1uby11bnNwYWNlZC1vcGVyYXRvclxuXG5AbWl4aW4gYnV0dG9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyxcbiAgICAkdGV4dF90cmFuc2Zvcm06ICRidXR0b25fdGV4dC10cmFuc2Zvcm0sXG4gICAgJGJvcmRlci1yYWRpdXM6ICRidXR0b25fYm9yZGVyLXJhZGl1c1xuKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbl90ZXh0LWFsaWduO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0X3RyYW5zZm9ybTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICBib3JkZXItY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2FkZHRvJykge1xuICAgICAgICBAaWYgKCRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9wcmltYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBmaWxsLCBjb2xvcjtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogZmlsbCwgY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICBAaWYgKCRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgJi5sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIEBpZiAoJHR5cGUgIT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnYWRkdG8nKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fYWRkdG8tYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fYWRkdG8tY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRidXR0b25fYWRkdG8tZm9udC1zaXplO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJ1dHRvbl9hZGR0by1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9hZGR0by1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYWRkdG8tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2FkZHRvLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3NlY29uZGFyeS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc3VjY2Vzcy1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zdWNjZXNzLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9lcnJvci1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fZXJyb3ItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9lcnJvci1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdhZGR0bycpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9hZGR0by0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fZXJyb3ItLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnYWRkdG8nKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fYWRkdG8tYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fYWRkdG8tY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybV9maWVsZC1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRidXR0b25fYWRkdG8tZm9udC1zaXplO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybV9maWVsZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm1fZmllbGQtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9hZGR0by1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtX2ZpZWxkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9hZGR0by1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2FkZHRvLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b24taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1dHRvbl9zcGFuLWZvbnQtb2Zmc2V0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgIHVuaXQoJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbikgPT1cbiAgICAgICAgICAgICAgICAgICAgdW5pdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uICtcbiAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArXG4gICAgICAgICAgICAgICAgICAgICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmc7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICB1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pID09XG4gICAgICAgICAgICAgICAgICAgIHVuaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uICtcbiAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAjeyRidXR0b25fcGFkZGluZy13aGVuLWljb259ICtcbiAgICAgICAgICAgICAgICAgICAgI3tnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6ICRidXR0b25fZm9udC1zaXplO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSAnb25seS1pY29uJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogJGJ1dHRvbl9pY29uLW9mZnNldDtcblxuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmcgLyAyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi5jcy1hdXRvY29tcGxldGUge1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgei1pbmRleDogMjAwO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgZm9udC1zaXplOiAxLjI5cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6aG92ZXIsIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLnNlbGVjdGVkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZDpsYXN0LWNoaWxkLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLWNvbnRhaW5lciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWltYWdlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWltYWdlIHtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICBoZWlnaHQ6IDQuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtZGV0YWlscyAuZi1maXgsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tZGV0YWlscyAuZi1maXgge1xuICAgICAgICBoZWlnaHQ6IDUuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgaW1nLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1icmFuZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1icmFuZCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtbmFtZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLXByaWNlLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLXByaWNlIHtcbiAgICAgIG1hcmdpbjogMC4zcmVtIDAgMDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggPiAucHJpY2Uge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSA+IC5wcmljZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjQ0MxQzNBO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4OHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTNweDsgfSB9XG4gICAgLmllMTEgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3Qge1xuICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3Q6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQge1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgLmFtb3VudDpub3QoOmVtcHR5KTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gIHBhZGRpbmc6IDEuMnJlbSAzcmVtIDFyZW0gMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY29sb3I6ICMzRTNFM0U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4yOXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZTpob3ZlciwgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6bm90KDplbXB0eSk6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IHRyYW5zcGFyZW50OyB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJhZGdlX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gYmFkZ2Vfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cblxuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS1yZWQgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kcHJpY2UtYm94X29sZC1wcmljZS1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9sYWJlbC1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uOiB0cnVlICFkZWZhdWx0O1xuJHByaWNlLWJveF9sYWJlbC1tYXJnaW46IDAuM3JlbSAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlczogMXJlbSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMnO1xuXG4kYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGNvbG9yX3RleHQtOTAwLCAwLjE3KSAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbS1oZWlnaHQ6IDUuOHJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wYWRkaW5nOiAwLjVyZW0gMXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZDogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC13aWR0aDogNC41cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC1oZWlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU6IDEuMjlyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1wcmljZS1mb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfaXRlbV9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbi4jeyRuc31hdXRvY29tcGxldGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlX2xpc3QtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdztcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcblxuICAgIC5hdXRvY29tcGxldGUtbGlzdCBkZCxcbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRhdXRvY29tcGxldGVfaXRlbS1wYWRkaW5nO1xuICAgICAgICBtYXJnaW46ICRhdXRvY29tcGxldGVfaXRlbS1tYXJnaW47XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhdXRvY29tcGxldGVfaXRlbS1ib3JkZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6ICRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuZi1maXgge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWhlaWdodDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWJyYW5kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtX2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1uYW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJpY2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkYXV0b2NvbXBsZXRlX2l0ZW1fZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgICBtYXJnaW46IC0xcHggMCAxcmVtO1xuICAgIGJvcmRlci10b3A6ICRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLXF1YW50aXR5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdC10aXRsZSB7XG4gICAgcGFkZGluZzogJGF1dG9jb21wbGV0ZV90aXRsZS1wYWRkaW5nO1xuICAgIGJvcmRlci1ib3R0b206ICRhdXRvY29tcGxldGVfdGl0bGUtYm9yZGVyO1xuICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWZvbnQtc2l6ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbjogJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW47XG5cbiAgICAmOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9ob29rJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRiYWRnZV9mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRiYWRnZV9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJGJhZGdlX2hlaWdodDogMmVtICFkZWZhdWx0O1xuJGJhZGdlX3BhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHggIWRlZmF1bHQ7XG4kYmFkZ2VfYm9yZGVyOiAwICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kYmFkZ2VfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJGJhZGdlX3RyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRiYWRnZV9zcGFuLXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvcl9tYWluX19icmFuZCAhZGVmYXVsdDtcbiRiYWRnZS0tZGVmYXVsdC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS1ncmVlbiAhZGVmYXVsdDtcbiRiYWRnZS0tbmV3LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDogJGNvbG9yX21haW5fX2JyYW5kICFkZWZhdWx0O1xuJGJhZGdlLS1kaXNjb3VudC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXNhbGUtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktcmVkICFkZWZhdWx0O1xuJGJhZGdlLS1zYWxlLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXBvcHVsYXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1wb3B1bGFyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXRvcC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXRvcC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gYmFkZ2UoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogJGJhZGdlX3RyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLS1kZWZhdWx0LWNvbG9yO1xuICAgIGJvcmRlcjogJGJhZGdlX2JvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2VfYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkYmFkZ2VfcGFkZGluZztcbiAgICBmb250LXNpemU6ICRiYWRnZV9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYWRnZV9mb250LXdlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkYmFkZ2VfaGVpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFkZ2VfdGV4dC10cmFuc2Zvcm07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIG1heC13aWR0aDogMTI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxM3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2VfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSAnbmV3Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLW5ldy1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1uZXctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZnJlZS1zaGlwcGluZycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncG9wdWxhcicpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1wb3B1bGFyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXBvcHVsYXItY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGlzY291bnQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGlzY291bnQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGlzY291bnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnc2FsZScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1zYWxlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXNhbGUtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAncmVjZW50bHktYm91Z2h0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnZGFpbHlkZWFsLXBkcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS10b3AtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tdG9wLWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBiYWRnZV9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogJGJhZGdlX3NwYW4tdHJhbnNmb3JtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4taG9vaygkdHlwZSk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4uY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1icmVhZGNydW1ic19faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjk1ZW0gMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzZFNkU2RTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI0ZGNDYwNDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1yaWdodEAxeC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2l0ZW06dmlzaXRlZDpob3Zlcjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAuY3MtYnJlYWRjcnVtYnNfX2l0ZW06aG92ZXI6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LXJpZ2h0LWdyZXlAMXguc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC5jcy1icmVhZGNydW1ic19fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6dmlzaXRlZDpob3ZlciwgLmNzLWJyZWFkY3J1bWJzX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gICAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6dmlzaXRlZDpob3ZlcjphZnRlciwgLmNzLWJyZWFkY3J1bWJzX19saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNFM0UzRTsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX3NlcGFyYXRvci1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDAuNWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMC44ZW07XG4gICAgaGVpZ2h0OiAwLjhlbTtcbiAgICBmaWxsOiAjRkY0NjA0OyB9XG4iLCIvKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cblxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLWRhdGE6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fVGhlbWUsXG4gICAgYnJlYWRjcnVtYnMsXG4gICAgY3VzdG9tX3NlcGFyYXRvclxuKSAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLXNob3c6ICN7bWFwLWdldChcbiAgICAgICAgJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tZGF0YSxcbiAgICAgICAgZGlzcGxheVxuICAgICl9ICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19iYWNrZ3JvdW5kOiAkYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvclxuICAgICRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWltYWdlIG5vLXJlcGVhdCByaWdodCAvIGF1dG8gNi44cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yX2JvZHktdGV4dCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLXZpc2l0ZWQtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19sYXN0LWl0ZW0tY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY29udGVudDogJ1xcMjA0NCcgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1ic192ZXJ0aWNhbC1zcGFjZTogMCAhZGVmYXVsdDtcblxuLiN7JG5zfWJyZWFkY3J1bWJzIHtcbiAgICAkcm9vdDogJjtcbiAgICBwYWRkaW5nLXRvcDogJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxLjk1ZW0gMCAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19sYXN0LWl0ZW0tY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMC44ZW07XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LXJpZ2h0QDF4LnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tc2hvdyAhPSAnJykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6dmlzaXRlZDpob3ZlcixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICByaWdodDogMC44ZW07XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1yaWdodC1ncmV5QDF4LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tdmlzaXRlZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvci1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwLjhlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgZmlsbDogJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbiwgLmNzLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uICosIC5jcy1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1idXR0b25fX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbl9faWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtOyB9XG5cbi5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIG1hcmdpbjogMCAwIDNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudCAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19hbW91bnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogMTFweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnkgKiwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAuYnV0dG9uLnByaW1hcnkubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnk6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5ICosIC5idXR0b24ucHJpbWFyeTp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5idXR0b24ucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5idXR0b24ucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24ucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5idXR0b24tc20ge1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4uaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd0AxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5pY29uX19hcnJvdy1yb3VuZC1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmljb25fX2Fycm93LXJvdW5kLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3dsZWZ0QDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5saW5rcy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAubGlua3MtbGlzdDpub3QoLnNsaWNrLWluaXRpYWxpemVkKSAubGlua3MtbGlzdF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmxpbmtzLWxpc3RfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua3MtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5saW5rcy1saXN0X19saW5rIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHBhZGRpbmc6IDIxcHggMTBweCAxMnB4OyB9XG4gICAgLmxpbmtzLWxpc3RfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua3MtbGlzdF9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5rcy1saXN0X19saW5rOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRidXR0b24tZmFsbGJhY2tfdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRidXR0b24tY29tcG9uZW50X3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtcG9zaXRpb246IDUwJSAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtdHJhbnNsYXRpb246IHRyYW5zbGF0ZVgoLTUwJSkgIWRlZmF1bHQ7XG5cbi4jeyRuc31idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgKTtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uI3skbnN9YnV0dG9uLWNvbXBvbmVudCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAkYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC10cmFuc2xhdGlvbjtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2Ftb3VudCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbiB7XG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICRib3JkZXItcmFkaXVzOiAyNXB4XG4gICAgICAgICk7XG4gICAgfVxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICRib3JkZXItcmFkaXVzOiAyNXB4XG4gICAgICAgICk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG4gICAgJi1zbSB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbn1cblxuLmljb25fX2Fycm93LXJvdW5kLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd0AxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxufVxuXG4uaWNvbl9fYXJyb3ctcm91bmQtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93bGVmdEAxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbn1cblxuXG4ubGlua3MtbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICB9XG5cbiAgICAmOm5vdCguc2xpY2staW5pdGlhbGl6ZWQpe1xuICAgICAgICAubGlua3MtbGlzdF9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgIHBhZGRpbmc6IDIxcHggMTBweCAxMnB4O1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQG1peGluIGNvbXBvbmVudC1zcGFjaW5nKCRtYXJnaW5zLWNvbmZpZzogJGNvbXBvbmVudC1zcGFjaW5nLWNvbmZpZ3VyYXRpb24pIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcmdpbnMtY29uZmlnLCBkZWZhdWx0KSB7XG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWFyZ2lucy1jb25maWcsIGRlZmF1bHQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBEZWZhdWx0IGNvbXBvbmVudCBtYXJnaW4gdmFsdWVcbiAgICAgICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICB9XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcmdpbnMtY29uZmlnLCByZXNwb25zaXZlKSB7XG4gICAgICAgIC8vIEFkZGluZyBtYXJnaW4gcnVsZXMgZm9yIGVhY2ggcGFzc2VkIGJyZWFrcG9pbnRcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRtYXJnaW4gaW4gbWFwLWdldCgkbWFyZ2lucy1jb25maWcsIHJlc3BvbnNpdmUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JGJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkbWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2tpcC1zcGFjaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgxLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAyOHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDMsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIHVsLmJ1dHRvbnMtc2V0LCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHVsLmJ1dHRvbnMtc2V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciB1bC5idXR0b25zLXNldCBidXR0b24sIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgdWwuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZzogNDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTM4cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gdWwuYnV0dG9ucy1zZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB1bC5idXR0b25zLXNldCBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5jcy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIG1heC13aWR0aDogMTI0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDI0LjglOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMjQuOCU7IH0gfVxuICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNzEuNCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA3MS40JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uLS1zcGFjZS10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDA7IH0gfVxuICAgIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNvbnRyYXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdG9wLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMsXG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgsIC5jcy1jb250YWluZXItLXN0b3JlLWxvY2F0b3Ige1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLWhlcm8tdGVhc2VyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGRwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tdXNwcyAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jcmVhdGUtYWNjb3VudC1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dpbi1wYWdlLCAuY3MtY29udGFpbmVyLS1zdWNjZXNzLXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLW15LWFjY291bnQtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tb250b3Age1xuICAgIHotaW5kZXg6IDMwMTsgfVxuICAuY3MtY29udGFpbmVyLS12aWV3cG9ydC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNtcy10ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY21zLWNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAyMHB4IDAgODBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jbXMtY29udGFjdC1mb3JtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDIwcHggMCA0NXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSB7XG4gICAgZmxleDogMSAxIDY4JTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0ge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZCB7XG4gICAgICBmbGV4OiAxIDEgNDglOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWZvcm0gLnByaW1hcnkge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5tYWluIC5jb250YWN0LWFkZHJlc3MgcCxcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLm1haW4gLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1sb2NhdGlvbjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tYXAtcGluLnN2Z1wiKTsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIC5pY29uLXBob25lOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3Bob25lLWRhcmsuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIC5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2VtYWlsQDF4LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgdG9wOiA2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAubWFpbiAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIGZsZXg6IDEgMSAzMyU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogNDVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1jb250YWluZXJfX2lubmVyLCAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyOm5vdCguY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCkgLmNzLWNvbnRhaW5lcl9faW5uZXIsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lcjpub3QoLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwpIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICBtYXgtd2lkdGg6IDEwM3JlbTsgfVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtY29va2llLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIC0wLjNyZW0gMC41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHotaW5kZXg6IDk4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDExMCUsIDApO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xOHMgbGluZWFyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtY29va2llLW1lc3NhZ2UtLXNob3duIHtcbiAgICB6LWluZGV4OiA5OTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogOHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2lubmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLXdyYXBwZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24td3JhcHBlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IHVuc2V0OyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IC5ibG9jay1jbXMtbGluay53aWRnZXQsXG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGEge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6YWN0aXZlLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICB3aWR0aDogNS41cmVtO1xuICAgIGhlaWdodDogNS41cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2ljb24ge1xuICAgICAgICB0b3A6IC0zLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24sIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtOyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvbGluayc7XG5cbiRjb29raWUtbWVzc2FnZV9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1zaXplOiA4NSUgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnQ6ICd0YWJsZXQnICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG5cbi4jeyRuc31jb29raWUtbWVzc2FnZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1tZXNzYWdlX2JhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRjb29raWUtbWVzc2FnZV9mb250LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGZvbnQtc2l6ZTogJGNvb2tpZS1tZXNzYWdlX2ZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OiA5ODtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDExMCUsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMThzIGxpbmVhcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmLS1zaG93biB7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1hbGlnbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmJsb2NrLWNtcy1saW5rLndpZGdldCxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3ItLWhvdmVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgICB3aWR0aDogNS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgdG9wOiAtMy41cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY29va2llLW1lc3NhZ2VfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jcy1kaXNwbGF5LWNvbnRyb2xsZXItLWhpZGRlbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3MtZGlzcGxheS1jb250cm9sbGVyLS1oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31kaXNwbGF5LWNvbnRyb2xsZXIge1xuICAgICYtLWhpZGRlbi1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oaWRkZW4tZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZHJvcGRvd24tc3dpdGNoZXIge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIC5tYWdlLWRyb3Bkb3duLWRpYWxvZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICByaWdodDogLTFyZW07XG4gICAgICBsZWZ0OiAxcmVtOyB9IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1jdXJyZW5jeSAubWFnZS1kcm9wZG93bi1kaWFsb2cge1xuICAgIHJpZ2h0OiAtMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDEuM3JlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXItLXN0b3JlczpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fb3B0aW9uLWljb24ge1xuICAgIG1pbi13aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1sYW5ndWFnZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX29wdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIC5zd2l0Y2hlci1vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogM3JlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDIuNXJlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMC41cmVtOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH0gfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmUge1xuICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLXNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbS1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbS1saW5rOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbS1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMnJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbS1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMS44cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9IH1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcHNldWRvaWNvbl9iZWZvcmUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcHNldWRvaWNvbl9hZnRlci1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy1ib3R0b20tYm9yZGVyOiAxcHggJGNvbG9yX2JvcmRlci01MDAgc29saWQgIWRlZmF1bHQ7XG5cbi8vIE9mZmNhbnZhcyB0cmlnZ2VyIG9wdGlvbnNcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctZGVmYXVsdDogJ2Rvd24nICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWFjdGl2ZTogJ3VwJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LW9mZnNldDogM3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldDogMi41cmVtICFkZWZhdWx0O1xuXG4vLyBEcm9wZG93biB0cmlnZ2VyIG9wdGlvbnNcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWRlZmF1bHQ6ICdkb3duJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWFjdGl2ZTogJ3VwJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXdpZHRoOiAwLjdyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1oZWlnaHQ6IDAuMXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LW9mZnNldDogMC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl9ib3JkZXItMTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk6IDEuNHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5OiAxLjFyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31kcm9wZG93bi1zd2l0Y2hlciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgLm1hZ2UtZHJvcGRvd24tZGlhbG9nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jdXJyZW5jeSB7XG4gICAgICAgIC5tYWdlLWRyb3Bkb3duLWRpYWxvZyB7XG4gICAgICAgICAgICByaWdodDogLTFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEuM3JlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItdHJhbnNmb3JtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdG9yZXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbiB7XG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgI3skcm9vdH0tLWxhbmd1YWdlICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlci1vcHRpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtYm90dG9tLWJvcmRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpZiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItZW5hYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItdHlwZSxcbiAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWRlZmF1bHQsXG4gICAgICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci13aWR0aCxcbiAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJGFjdGl2ZS1zZWxlY3RvcjogJyYuYWN0aXZlJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICBAaWYgJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItZW5hYmxlZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICR3aWR0aDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LW9mZnNldDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZHJvcGRvd24tc3dpdGNoZXItdHJpZ2dlci1jb2xvci0taG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1zZWxlY3RvcjogJyYuYWN0aXZlJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tc3dpdGNoZXJfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtLWxpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtaXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMS44cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9ob29rJztcblxuJHBzZXVkb2ljb24tdHlwZTogJ3BsdXMnICFkZWZhdWx0OyAvLyBwbHVzIChkZWZhdWx0KSBvciBhcnJvd1xuLy8gQW5pbWF0aW9uIGZvciBhcnJvd3Mgd29ya3Mgb25seSBpZiBkZWZhdWx0IGFuZCBhY3RpdmUgZGlyZWN0aW9uIGFyZSBvcHBvc2l0ZVxuJHBzZXVkb2ljb24tYW5pbWF0ZTogdHJ1ZSAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWFuaW1hdGlvbi10aW1lOiAwLjE1cyAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWNvbG9yOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWhvdmVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWV4cGFuZGVkLWNvbG9yOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLXdpZHRoOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1oZWlnaHQ6IDAuMnJlbSAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuLy8gQWRkaXRpb25hbCBzZXR0aW5ncyBmb3IgYXJyb3dzXG4kcHNldWRvaWNvbi1hcnJvdy1kZWZhdWx0LWRpcmVjdGlvbjogJ3VwJyAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWFycm93LWFjdGl2ZS1kaXJlY3Rpb246ICdkb3duJyAhZGVmYXVsdDtcbi8vIEluIHNvbWUgY2FzZXMgKGl0IGRlcGVuZHMgb24gJHBzZXVkb2ljb24td2lkdGgvaGVpZ2h0IHZhbHVlKSwgd2UgbmVlZCB0byBmaXggb2Zmc2V0IGZvciBsZWZ0IHBhcnQgb2YgaWNvblxuJHBzZXVkb2ljb24tYXJyb3ctbGVmdC1vZmZzZXQ6IGNhbGMoXG4gICAgI3skcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldH0gKyAjeyRwc2V1ZG9pY29uLXdpZHRofSAtICN7MiAqXG4gICAgICAgICRwc2V1ZG9pY29uLWhlaWdodH1cbikgIWRlZmF1bHQ7XG5cbiRwc2V1ZG9pY29uLWFjdGl2ZS1zZWxlY3RvcjogJyZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0nICFkZWZhdWx0O1xuXG5AbWl4aW4gcHNldWRvaWNvbihcbiAgICAkdHlwZTogJHBzZXVkb2ljb24tdHlwZSxcbiAgICAkYW5pbWF0ZWQ6ICRwc2V1ZG9pY29uLWFuaW1hdGUsXG4gICAgJGFuaW1hdGlvbi10aW1lOiAkcHNldWRvaWNvbi1hbmltYXRpb24tdGltZSxcbiAgICAkY29sb3I6ICRwc2V1ZG9pY29uLWNvbG9yLFxuICAgICRjb2xvci1ob3ZlcjogJHBzZXVkb2ljb24taG92ZXItY29sb3IsXG4gICAgJGNvbG9yLWV4cGFuZGVkOiAkcHNldWRvaWNvbi1leHBhbmRlZC1jb2xvcixcbiAgICAkd2lkdGg6ICRwc2V1ZG9pY29uLXdpZHRoLFxuICAgICRoZWlnaHQ6ICRwc2V1ZG9pY29uLWhlaWdodCxcbiAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6ICRwc2V1ZG9pY29uLXBvc2l0aW9uLXNpZGUtb2Zmc2V0LFxuICAgICRhcnJvdy1kZWZhdWx0OiAkcHNldWRvaWNvbi1hcnJvdy1kZWZhdWx0LWRpcmVjdGlvbixcbiAgICAkYXJyb3ctYWN0aXZlOiAkcHNldWRvaWNvbi1hcnJvdy1hY3RpdmUtZGlyZWN0aW9uLFxuICAgICRhcnJvdy1vZmZzZXQ6ICRwc2V1ZG9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICRhY3RpdmUtc2VsZWN0b3I6ICRwc2V1ZG9pY29uLWFjdGl2ZS1zZWxlY3RvclxuKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgICAgICBAaWYgKCRhbmltYXRlZCkge1xuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSAnYXJyb3cnKSB7XG4gICAgICAgICAgICAgICAgQGlmICgoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykgYW5kICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykpIG9yXG4gICAgICAgICAgICAgICAgICAgICgoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSBhbmQgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykpIG9yXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgICkgb3JcbiAgICAgICAgICAgICAgICAgICAgKCgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSBhbmQgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYW5pbWF0aW9uLXRpbWUgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgJGFuaW1hdGlvbi10aW1lIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAoMiAqICRhbmltYXRpb24tdGltZSkgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgJGFuaW1hdGlvbi10aW1lIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkY29sb3ItaG92ZXIgIT0gJGNvbG9yKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpZiAoJGNvbG9yLWhvdmVyICE9ICRjb2xvcikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3skYWN0aXZlLXNlbGVjdG9yfSB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpZiAoJGNvbG9yLWV4cGFuZGVkICE9ICRjb2xvcikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1leHBhbmRlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Fycm93Jykge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCA1MCUsIDApO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skYWN0aXZlLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uX2JlZm9yZS1ob29rKCR0eXBlKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbl9hZnRlci1ob29rKCR0eXBlKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNzLWZpZWxkLFxuLmNzLWlucHV0IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZmllbGRfX2NvbnRyb2wsXG4gIC5jcy1pbnB1dF9fY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkX19sYWJlbCxcbiAgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCAzcHggMDsgfVxuICAgIC5yZXF1aXJlZCAuY3MtZmllbGRfX2xhYmVsOmFmdGVyLCAucmVxdWlyZWRcbiAgICAuY3MtaW5wdXRfX2xhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICBjb2xvcjogI0NDMUMzQTsgfVxuICAuY3MtZmllbGRfX2lucHV0LCAuY3MtZmllbGRfX3RleHRhcmVhLFxuICAuY3MtaW5wdXRfX2lucHV0LFxuICAuY3MtaW5wdXRfX3RleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5jcy1maWVsZF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX190ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIsIC5jcy1maWVsZF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5jcy1maWVsZF9faW5wdXRbZGlzYWJsZWRdLCAuY3MtZmllbGRfX3RleHRhcmVhW2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2lucHV0W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksIC5jcy1maWVsZF9fdGV4dGFyZWEubWFnZS1lcnJvciwgLmNzLWZpZWxkX190ZXh0YXJlYS5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgIC5jcy1pbnB1dF9faW5wdXQubWFnZS1lcnJvcixcbiAgICAuY3MtaW5wdXRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYS5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWEubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MxQzNBOyB9XG4gIC5jcy1maWVsZF9fc2VsZWN0LFxuICAuY3MtaW5wdXRfX3NlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuY3MtZmllbGRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDo6LW1zLWV4cGFuZCxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3NlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgICAgLmllMTEgLmNzLWZpZWxkX19zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuaWUxMSAuY3MtZmllbGRfX3NlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5pZTExXG4gICAgICAuY3MtaW5wdXRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5pZTExXG4gICAgICAuY3MtaW5wdXRfX3NlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdFtkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19zZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdCBvcHRpb24sXG4gICAgLmNzLWlucHV0X19zZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7IH1cbiAgICAuaWUxMSAuY3MtZmllbGRfX3NlbGVjdCwgLmllMTFcbiAgICAuY3MtaW5wdXRfX3NlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIDAuN2VtLCAxMDAlOyB9XG4gIC5jcy1maWVsZF9fcmFkaW8sXG4gIC5jcy1pbnB1dF9fcmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzo6LW1zLWNoZWNrLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsIC5jcy1maWVsZF9fcmFkaW86LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19yYWRpbzo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3JhZGlvOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY3NDQyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQ6Oi1tcy1jaGVjayxcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc2LjUnIGN4PSc2LjUnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZCwgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkOmhvdmVyLCAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQsXG4gICAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQ6aG92ZXIsXG4gICAgICAuY3MtaW5wdXRfX3JhZGlvOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWZpZWxkX19yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1pbnB1dF9fcmFkaW9bZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5jcy1maWVsZF9fY2hlY2tib3gsXG4gIC5jcy1pbnB1dF9fY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Oi1tcy1jaGVjayxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLCAuY3MtZmllbGRfX2NoZWNrYm94Oi1tb3otZm9jdXNyaW5nLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX19jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNzQ0MjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2ssXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNi41JyBjeD0nNi41Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQsIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDpob3ZlciwgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOmhvdmVyLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Oi1tcy1jaGVjayxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OjotbXMtY2hlY2sge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6aG92ZXIsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDpob3ZlcixcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDpob3ZlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2NoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X19jaGVja2JveC5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MxQzNBOyB9XG4gIC5jcy1maWVsZF9faWNvbixcbiAgLmNzLWlucHV0X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEuM2VtO1xuICAgIGhlaWdodDogMS4zZW07XG4gICAgcmlnaHQ6IDAuOGVtO1xuICAgIHRvcDogMC44ZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZmllbGRfX25vdGUsXG4gIC5jcy1pbnB1dF9fbm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1maWVsZF9fZXJyb3IsXG4gIC5jcy1pbnB1dF9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuXG4uZmllbGQge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5maWVsZC5ub3RlIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH1cbiAgLmZpZWxkLl9zdWNjZXNzOm5vdCguX3dhcm4pIC5jb250cm9sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmllbGQuX3N1Y2Nlc3M6bm90KC5fd2FybikgLmNvbnRyb2w6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEuM2VtO1xuICAgICAgaGVpZ2h0OiAxLjNlbTtcbiAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgIHRvcDogMC44ZW07XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrLWdyZWVuLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLmZpZWxkIC5jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmZpZWxkIC5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCAzcHggMDsgfVxuICAuZmllbGQucmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIsIC5maWVsZC5fcmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgY29sb3I6ICNDQzFDM0E7IH1cbiAgLmZpZWxkLnJlcXVpcmVkIC5fcmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpZWxkIC5pbnB1dC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuaW5wdXQtdGV4dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dC5tYWdlLWVycm9yLCAuZmllbGQgLmlucHV0LXRleHQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MxQzNBOyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0LnJlcXVpcmVkLWVudHJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmZpZWxkIC5zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQgLnNlbGVjdDotbW96LWZvY3VzcmluZywgLmZpZWxkIC5zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5maWVsZCAuc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgICAuaWUxMSAuZmllbGQgLnNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5pZTExIC5maWVsZCAuc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgIC5maWVsZCAuc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5zZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7IH1cbiAgICAuaWUxMSAuZmllbGQgLnNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIDAuN2VtLCAxMDAlOyB9XG4gIC5maWVsZCAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Oi1tb3otZm9jdXMtaW5uZXIsIC5maWVsZCAuY2hlY2tib3g6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjc0NDI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzYuNScgY3g9JzYuNScvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkLCAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6aG92ZXIsIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI0ZGNDYwNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuZmllbGQgLmNoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtOyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpob3ZlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveC5tYWdlLWVycm9yLCAuZmllbGQgLmNoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDMUMzQTsgfVxuICAuZmllbGQgLnJhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZCAucmFkaW86Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAucmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsIC5maWVsZCAucmFkaW86LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5yYWRpbzpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAucmFkaW86Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjc0NDI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLnJhZGlvOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5yYWRpbzpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzYuNScgY3g9JzYuNScvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5yYWRpbzpjaGVja2VkLCAuZmllbGQgLnJhZGlvOmNoZWNrZWQ6aG92ZXIsIC5maWVsZCAucmFkaW86Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI0ZGNDYwNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSxcbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuZmllbGQgLnJhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuZmllbGQuY2hvaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmllbGQuY2hvaWNlIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuZmllbGQuY2hvaWNlIGRpdi5tYWdlLWVycm9yIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSBhdXRvLCAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDotbW96LWZvY3VzcmluZywgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAgIC5pZTExIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuaWUxMSAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gICAgLmllMTEgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIDAuN2VtLCAxMDAlOyB9XG4gIC5maWVsZC5fZXJyb3IgLmlucHV0LXRleHQsIC5maWVsZC5fZXJyb3IgLmlucHV0LXRleHQ6aG92ZXI6bm90KDpmb2N1cyksXG4gIC5maWVsZC5fZXJyb3IgLmNoZWNrYm94LFxuICAuZmllbGQuX2Vycm9yIC5jaGVja2JveDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDMUMzQTsgfVxuICAuZmllbGQgLmNvbnRyb2wuX3dpdGgtdG9vbHRpcCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5maWVsZCAuZmllbGQtdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAubGFiZWwsXG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5maWVsZCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWVsZCAubm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG5cbmRpdi5tYWdlLWVycm9yLFxuZGl2LmZpZWxkLWVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBjb2xvcjogI0NDMUMzQTsgfVxuXG4ub3BjLXdyYXBwZXIgLnNlbGVjdC13cmFwLFxuLmVzdGltYXRlIC5zZWxlY3Qtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3BjLXdyYXBwZXIgLnNlbGVjdC13cmFwIHNlbGVjdCxcbiAgLmVzdGltYXRlIC5zZWxlY3Qtd3JhcCBzZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgLm9wYy13cmFwcGVyIC5zZWxlY3Qtd3JhcDphZnRlcixcbiAgLmVzdGltYXRlIC5zZWxlY3Qtd3JhcDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvd2hpdGUtYXJyb3cuc3ZnXCIpO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5zbWFsbC5yZXF1aXJlZC1maWVsZHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzZFNkU2RTsgfVxuICBzbWFsbC5yZXF1aXJlZC1maWVsZHMgc3BhbiB7XG4gICAgY29sb3I6ICNDQzFDM0E7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBmaWVsZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1yZXF1aXJlZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY29udHJvbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pY29uLWhvb2soJHR5cGU6ICcnKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1ub3RlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtd2FybmluZy1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtc2VsZWN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8tbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy91cmktZnJpZW5kbHktaGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvaG9vayc7XG5cbiRmaWVsZF9mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRmaWVsZF90cmFuc2l0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG5cbiRmaWVsZF9sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLW1hcmdpbjogMCAwIDNweCAwICFkZWZhdWx0O1xuXG4kZmllbGRfaW5wdXQtZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtcGFkZGluZzogMTFweCAxMHB4ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlci1hY3RpdmU6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJveC1zaGFkb3ctYWN0aXZlOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHk6IDAuNjUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kZmllbGRfZXJyb3ItZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX2Vycm9yLWlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9ub3RlLWZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWVsZF9ub3RlLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3dhcm5pbmctY29sb3I6ICRjb2xvcl93YXJuaW5nLTUwMCAhZGVmYXVsdDtcbi8vIEJhc2VkIG9uIGh0dHBzOi8vd3d3LmZpbGFtZW50Z3JvdXAuY29tL2xhYi9zZWxlY3QtY3NzLmh0bWxcbiRmaWVsZF9zZWxlY3QtZm9udC1zaXplOiAkZmllbGRfaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nOiAkZmllbGRfaW5wdXQtcGFkZGluZyAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodDogMi4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCUgIWRlZmF1bHQ7XG4vLyBJRSBkb2Vzbid0IHVuZGVyc3RhbmQga2V5d29yZCBhdXRvIGluIGJhY2tncm91bmQtc2l6ZVxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemUtLWllOiAwLjdlbSAwLjdlbSwgMTAwJSAhZGVmYXVsdDtcblxuLy8gTm90ZSB0aGF0IHNlbGVjdCBiYWNrZ3JvdW5kIG5lZWRzIHRvIGJlIGRlZmluZWQgYXMgYmFja2dyb3VuZC1pbWFnZSB0byBwcmV2ZW50XG4vLyBvcHRpb24gZWxlbWVudHMgZnJvbSBpbmhlcml0aW5nIGl0IG9uIHNvbWUgYnJvd3NlcnMuXG4kZmllbGRfc2VsZWN0LWljb24tZmlsbDogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWljb24tZmlsbC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbCl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcbi8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBsaW5lYXItZ3JhZGllbnQoKSB1c2VkIGluIHRoaXMgY29udGV4dFxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWltYWdlLS1pZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbCl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsLWFjdGl2ZSl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcbi8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBsaW5lYXItZ3JhZGllbnQoKSB1c2VkIGluIHRoaXMgY29udGV4dFxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZS0taWU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbiRmaWVsZF9yYWRpby1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1zaXplOiAyMHB4ICFkZWZhdWx0O1xuLy8gTGV0cyB5b3UgYWRqdXN0IGJvdGggcmFkaW8gYW5kIGNoZWNrYm94IGFsaWdubWVudCBiYXNlZCBvbiBmb250IHlvdSd2ZSBjaG9zZW4uXG4kZmllbGRfcmFkaW8tb2Zmc2V0OiAtMC4wNjI1ZW0gIWRlZmF1bHQ7XG4vLyBBbGlnbmluZyBhbnl0aGluZyB0aGF0IGNvbWVzIGFmdGVyIHdpdGggaW5wdXQgcGFkZGluZ3MsIHRoaXMgMXB4IHN0YW5kcyBmb3IgaW5wdXQncyBib3JkZXIgd2lkdGguXG4kZmllbGRfcmFkaW8tbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3JhZGlvLWljb24tZmlsbCl9JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkLWllMTE6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9yYWRpby1pY29uLWZpbGwpfScgcj0nNCcgY3k9JzYuNScgY3g9JzYuNScvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZpZWxkX3JhZGlvLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJvcmRlci1hY3RpdmU6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm9yZGVyLWNoZWNrZWQ6IDZweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWNoZWNrZWQ6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tZGlzYWJsZWQtb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmaWVsZF9jaGVja2JveC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtc2l6ZTogMWVtIDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfY2hlY2tib3gtaWNvbi1maWxsKX0nIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9pY29uLXdpZHRoOiAxLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9pY29uLWhlaWdodDogMS4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfaWNvbi1zdWNjZXNzLWJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NoZWNrLWdyZWVuLnN2ZycpIG5vLXJlcGVhdFxuICAgIGNlbnRlciBjZW50ZXIgLyBjb250YWluICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGQoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZm9udC1zaXplO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZXJyb3ItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwoKSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmaWVsZF9sYWJlbC1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRmaWVsZF9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICBjb2xvcjogJGZpZWxkX2xhYmVsLWNvbG9yO1xuICAgIG1hcmdpbjogJGZpZWxkX2xhYmVsLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnIConO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2Vycm9yLTUwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1yZXF1aXJlZC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jb250cm9sKCkge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtY29udHJvbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dCgpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9pbnB1dC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWVsZF9pbnB1dC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZmllbGRfaW5wdXQtcGFkZGluZztcbiAgICBjb2xvcjogJGZpZWxkX2lucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9pbnB1dC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogJGZpZWxkX2lucHV0LWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfaW5wdXQtYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTsgLy8gQWRkIHNwYWNpbmcgdW5kZXIgbGFiZWwuIFRoaXMgY2FuJ3QgYmUgYWRkZWQgdG8gbGFiZWwgaXRzZWxmIGJlY2F1c2UgdGhleSBhcmUgc29tZXRpbWVzIHJlbmRlcmVkIGVtcHR5LlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgLy8gUmVtb3ZlcyBkcm9wIHNoYWRvdyBmcm9tIGlucHV0cyBvbiBpT1MuXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX2lucHV0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtZXJyb3IoKSB7XG4gICAgJixcbiAgICAmOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgYm9yZGVyOiAkZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWljb24oJHR5cGU6ICcnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkZmllbGRfaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmaWVsZF9pY29uLWhlaWdodDtcbiAgICByaWdodDogMC44ZW07XG4gICAgdG9wOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZpZWxkX2ljb24tc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWljb24taG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBmaWVsZC1ub3RlKCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX25vdGUtZm9udC1zaXplO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogJGZpZWxkX25vdGUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgIGNvbG9yOiAkZmllbGRfZXJyb3ItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC13YXJuaW5nKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgIGNvbG9yOiAkZmllbGRfd2FybmluZy1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLXdhcm5pbmctaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtc2VsZWN0KCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX3NlbGVjdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWVsZF9zZWxlY3QtbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGZpZWxkX3NlbGVjdC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBjb2xvcjogJGZpZWxkX3NlbGVjdC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfc2VsZWN0LWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtOyAvLyBBZGQgc3BhY2luZyB1bmRlciBsYWJlbC4gVGhpcyBjYW4ndCBiZSBhZGRlZCB0byBsYWJlbCBpdHNlbGYgYmVjYXVzZSB0aGV5IGFyZSBzb21ldGltZXMgcmVuZGVyZWQgZW1wdHkuXG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2U7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1wb3NpdGlvbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1zaXplO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6LW1vei1mb2N1c3JpbmcsXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBIaWRlIG5hdGl2ZSBkcm9wZG93biBhcnJvdyBvbiBJRSAxMC8xMS5cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgICAgICAgICAvLyBVc2UgZGlmZmVyZW50IHNldCBvZiBwcm9wZXJ0aWVzIHRoYXQgd2lsbCB3b3JrIGluIElFXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlLS1pZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIG9wdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC8vIFVzZSBkaWZmZXJlbnQgc2V0IG9mIHByb3BlcnRpZXMgdGhhdCB3aWxsIHdvcmsgaW4gSUVcbiAgICAuaWUxMSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWltYWdlLS1pZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZS0taWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0LWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWxhYmVsKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvKCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmaWVsZF9yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZmllbGRfcmFkaW8tc2l6ZTtcbiAgICBtYXJnaW46ICRmaWVsZF9yYWRpby1tYXJnaW47XG4gICAgZm9udC1zaXplOiAkZmllbGRfcmFkaW8tZm9udC1zaXplO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvOyAvLyBQcmV2ZW50IGZsZXggcGFyZW50IGZyb20gYnJlYWtpbmcgZGltZW5zaW9ucy5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtc2l6ZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgIGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgLy8gU3R5bGluZyBmb3IgSUUxMSwgbmVlZHMgdG8gYmUgZHVwbGljYXRlZC5cbiAgICAmOjotbXMtY2hlY2sge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtc2l6ZTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItY2hlY2tlZDtcbiAgICB9XG5cbiAgICAmOjotbW96LWZvY3VzLWlubmVyLFxuICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcblxuICAgICAgICAmOjotbXMtY2hlY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZC1pZTExO1xuICAgICAgICB9XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXItY2hlY2tlZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdy1jaGVja2VkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJltkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgJltkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX3JhZGlvLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuXG4gICAgQGluY2x1ZGUgZmllbGQtcmFkaW8taG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3gtbGFiZWwoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3goKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgLy8gU3R5bGluZyBmb3IgSUUxMSwgbmVlZHMgdG8gYmUgZHVwbGljYXRlZC5cbiAgICAmOjotbXMtY2hlY2sge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9jaGVja2JveC1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAmOjotbXMtY2hlY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1ob29rKCk7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbi8vIE91ciBCRU0gY29tcG9uZW50LlxuLmNzLWZpZWxkLFxuLy8gTGVmdCBmb3Igbm93IGZvciBjb21wYXRpYmlsaXR5IHNha2UuXG4uY3MtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZpZWxkKCk7XG5cbiAgICAmX19jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY29udHJvbCgpO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwoKTtcblxuICAgICAgICAucmVxdWlyZWQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1yZXF1aXJlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQsXG4gICAgJl9fdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgJl9fcmFkaW8ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgICAgIC8vIFRvIHJld3JpdGUgdG8gcHJvcGVyIHNjc3Mgc3ludGF4IGFmdGVyIGdldHRpbmcgcmlkIG9mIC5jcy1pbnB1dCBjbGFzc1xuICAgICAgICAmICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAgICAgJiArIC5jcy1maWVsZF9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3goKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvIHJld3JpdGUgdG8gcHJvcGVyIHNjc3Mgc3ludGF4IGFmdGVyIGdldHRpbmcgcmlkIG9mIC5jcy1pbnB1dCBjbGFzc1xuICAgICAgICAmICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAgICAgJiArIC5jcy1maWVsZF9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pY29uKCk7XG4gICAgfVxuXG4gICAgJl9fbm90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcbiAgICB9XG5cbiAgICAmX19lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yKCk7XG4gICAgfVxufVxuLy8gTWFnZW50byBjbGFzc2VzIHVzZWQgaW4gY2hlY2tvdXQsIGxvZ2luL3JlZ2lzdGVyIGZvcm1zIGV0Yy5cbi5maWVsZCB7XG4gICAgQGluY2x1ZGUgZmllbGQoKTtcblxuICAgICYubm90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgfVxuXG4gICAgJi5fc3VjY2Vzczpub3QoLl93YXJuKSB7XG4gICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaWNvbignc3VjY2VzcycpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2wge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sKCk7XG5cbiAgICAgICAgPiB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwoKTtcbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkLFxuICAgICYuX3JlcXVpcmVkIHtcbiAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmVxdWlyZWQge1xuICAgICAgICAuX3JlcXVpcmVkIHtcbiAgICAgICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBhc3Rlcmlza3MgZm9yIGxhYmVscyBpbnNpZGUgZmllbGRzZXRzIGFzIHRoZXkgYXJlIHVzdWFsbHkgcmVuZGVyZWQgZW1wdHkuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXF1aXJlZC1lbnRyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmFkaW8ge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgICAgICYgKyAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2hvaWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICBkaXYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jdXN0b21lci1uYW1lLXByZWZpeCB7XG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuX2Vycm9yIHtcbiAgICAgICAgLmlucHV0LXRleHQsXG4gICAgICAgIC5jaGVja2JveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmV2ZXJ0aW5nIHN0eWxlcyBmb3IgaW5wdXQgd2l0aCB0b29sdGlwLlxuICAgIC5jb250cm9sLl93aXRoLXRvb2x0aXAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAvLyBSZXZlcnRpbmcgaW5mbyB0b29sdGlwIHN0eWxlcyB0byBtYWtlIGl0IGFwcGVhciBhcyBub3RlIGJlbG93IHRoZSBpbnB1dC5cbiAgICAuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgLmxhYmVsLFxuICAgICAgICAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxufVxuLy8gSGFzIHRvIGJlIHNjb3BlZCB0byBkaXYsIG90aGVyd2lzZSBpdCBjb2xsaWRlcyB3aXRoIGlucHV0IGNsYXNzLlxuZGl2Lm1hZ2UtZXJyb3IsXG5kaXYuZmllbGQtZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yKCk7XG59XG4ub3BjLXdyYXBwZXIsXG4uZXN0aW1hdGUge1xuICAgIC5zZWxlY3Qtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy93aGl0ZS1hcnJvdy5zdmdcIik7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5zbWFsbC5yZXF1aXJlZC1maWVsZHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LXJlZDtcbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kZm9vdGVyX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRmb290ZXJfYmFja2dyb3VuZDogIzAwMCB1cmwoJy4uL2ltYWdlcy9mb290ZXItYmFubmVyLmpwZycpIG5vLXJlcGVhdCAhZGVmYXVsdDtcbiRmb290ZXJfZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDogMmVtICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nOiAkZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0XG4gICAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyIDAuN2VtICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1wc2V1ZG9pY29uLWluY2x1ZGU6IHRydWUgIWRlZmF1bHQ7XG5cbiRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGU6IGZhbHNlICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLXdpZHRoOiAxMy41ZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28taGVpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWZvb3RlciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAkZm9vdGVyX3RleHQtY29sb3I7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDQzJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZvb3Rlcl9iYWNrZ3JvdW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA1NyU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNDN2dztcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX2VkZ2UtZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMuOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByb21vIHtcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyX3Byb21vLWRpc3BsYXktb24tbW9iaWxlID09IGZhbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAzMHB4O1xuXG4gICAgICAgICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAzMyU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1leHRyYXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDM0JTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMjVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXJfYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmU2Ni5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4IDAgMCAyOHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcy1uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNvY2lhbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24tdGl0bGUsXG4gICAgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwgIT0gJ25vbmUnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsKTtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nO1xuICAgICAgICBjb2xvcjogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtdHJhbnNmb3JtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdICYsXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAmIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uLS1zb2NpYWxzICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb250ZW50LFxuICAgIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdICYsXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hvcC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogJGZvb3Rlcl9sb2dvLWRpc3BsYXk7XG4gICAgICAgIHdpZHRoOiAkZm9vdGVyX2xvZ28td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGZvb3Rlcl9sb2dvLWhlaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAkZm9vdGVyX2xvZ28td2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuc29jaWFsLWxpbmtzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDM2JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbC1mYWNlYm9vayB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9mYWNlYm9va0AxeC5zdmcnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLXlvdXR1YmUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaWNvbnMveW91dHViZUAxeC5zdmcnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLWluc3RhZ3JhbSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9pbnN0YWdyYW1AMXguc3ZnJykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyIHtcbiAgICAmLS1mb290ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuXG4udS1mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLnUtZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uY2xlYXJmaXgge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbn1cblxuLkxhbmRpbmctcGFnZS12aWV3X19wcm9kdWN0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDUuNSUpO1xufVxuXG4uTGFuZGluZy1wYWdlLXZpZXdfX3Byb2R1Y3QtaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5MYW5kaW5nLXBhZ2Utdmlld19fc2FsZXMtY29weSB7XG4gICAgd2lkdGg6IDQ1LjUlO1xuICAgIC5jbXMtZmxvYXRpbmctaW1hZ2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHggNTBweDtcbiAgICB9XG59XG5cbi5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb25zIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBoMyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5yb3cge1xuICAgICAgICBAZXh0ZW5kIC5jbGVhcmZpeDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuLkxhbmRpbmctcGFnZS12aWV3X19sb2NhdGlvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgd2lkdGg6IDMyLjIwMzM5JTtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi5MYW5kaW5nLXBhZ2Utdmlld19fY3RhLWNhbGwuaDIge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEZvb3RlciBjb21wb25lbnQgY3VzdG9taXphdGlvbi5cbiAqIEBzZWUgL01hZ2VudG9fVGhlbWUvdGVtcGxhdGVzL2Zvb3Rlci9jb2x1bW5zLnBodG1sIGZvciB0ZW1wbGF0ZXMuXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1mb290ZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWZvb3RlcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDMlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5jcy1mb290ZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKFwiLi4vaW1hZ2VzL2Zvb3Rlci1iYW5uZXIuanBnXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDU3JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyOmJlZm9yZSwgLmNzLWZvb3RlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY3MtZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNDN2dztcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMy44cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAzMHB4OyB9XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1iYXNpczogMzQlO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgcGFkZGluZzogMjVweCAyMHB4IDI1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKFwiLi4vaW1hZ2VzL2Zvb3Rlci1iYW5uZXIuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmU2Ni5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgNnB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIHBhZGRpbmc6IDFweCAwIDAgMjhweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgN3B4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLW5ld3NsZXR0ZXIge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLW5ld3NsZXR0ZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAuY3MtbmV3c2xldHRlciBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciB7XG4gICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgcGFkZGluZzogMmVtIDEuNXJlbSAwLjdlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddLFxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIC8qIDEgKi8gfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10sXG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtZm9vdGVyX19zaG9wLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMy41ZW07XG4gICAgaGVpZ2h0OiAyLjNlbTtcbiAgICBtaW4td2lkdGg6IDEzLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY3MtZm9vdGVyIC5zb2NpYWwtbGlua3Mge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDE1cHggMCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgIC5jcy1mb290ZXIgLnNvY2lhbC1saW5rcyB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICBtYXgtd2lkdGg6IDYxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXIgLnNvY2lhbC1saW5rcyB7XG4gICAgICAgIHdpZHRoOiAzNiU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1mb290ZXIgLnNvY2lhbC1saW5rcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuY3MtZm9vdGVyIC5zb2NpYWwtbGlua3MgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNzLWZvb3RlciAuc29jaWFsLWxpbmtzX19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY3MtZm9vdGVyIC5zb2NpYWwtbGlua3NfX2xpbms6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4OyB9XG4gICAgLmNzLWZvb3RlciAuc29jaWFsLWxpbmtzIC5zb2NpYWwtZmFjZWJvb2s6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2ZhY2Vib29rQDF4LnN2Z1wiKSBuby1yZXBlYXQ7IH1cbiAgICAuY3MtZm9vdGVyIC5zb2NpYWwtbGlua3MgLnNvY2lhbC15b3V0dWJlOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy95b3V0dWJlQDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTNweDsgfVxuICAgIC5jcy1mb290ZXIgLnNvY2lhbC1saW5rcyAuc29jaWFsLWluc3RhZ3JhbTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvaW5zdGFncmFtQDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTNweDsgfVxuXG4uY3MtY29udGFpbmVyLS1mb290ZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLnUtZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnUtZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jbGVhcmZpeCwgLkxhbmRpbmctcGFnZS12aWV3X19sb2NhdGlvbnMgLnJvdyB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDsgfVxuXG4uTGFuZGluZy1wYWdlLXZpZXdfX3Byb2R1Y3Qge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDUuNSUpOyB9XG5cbi5MYW5kaW5nLXBhZ2Utdmlld19fcHJvZHVjdC1pbWFnZSB7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuLkxhbmRpbmctcGFnZS12aWV3X19zYWxlcy1jb3B5IHtcbiAgd2lkdGg6IDQ1LjUlOyB9XG4gIC5MYW5kaW5nLXBhZ2Utdmlld19fc2FsZXMtY29weSAuY21zLWZsb2F0aW5nLWltYWdlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgNTBweCA1MHB4OyB9XG5cbi5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb25zIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gIC5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb25zIGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb25zIC5yb3cge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLkxhbmRpbmctcGFnZS12aWV3X19sb2NhdGlvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICBwYWRkaW5nOiAxNXB4O1xuICB3aWR0aDogMzIuMjAzMzklOyB9XG4gIC5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5MYW5kaW5nLXBhZ2Utdmlld19fbG9jYXRpb24gYSB7XG4gICAgY29sb3I6ICNGRjc0NDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLkxhbmRpbmctcGFnZS12aWV3X19jdGEtY2FsbC5oMiB7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuTGFuZGluZy1wYWdlLXZpZXdfX2N0YS1jYWxsLmgyIGEge1xuICAgIGNvbG9yOiAjRkY3NDQyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4iLCIvKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG5AbWl4aW4gdmlzdWFsbHktdmlzaWJsZSB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZV9ob29rKCRsZXZlbCkge1xufVxuXG5AbWl4aW4gbGlua19ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdF9ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdC1pdGVtX2hvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5ICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLW1hcmdpbnM6IDFyZW0gMCAycmVtICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saW5rLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjogJG91dGRvb3JfcHJpbWFyeV9kYXJrICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saXN0LW1hcmdpbjogMCAwIDIuNXJlbSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpc3QtcGFkZGluZzogMCAwIDAgNHJlbSAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGlzdC1pdGVtLW1hcmdpbjogMCAwIDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtZmFtaWx5KTtcblxuICAgIGZvbnQtc2l6ZTogJGxldmVsO1xuICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2lucztcblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lX2hvb2soJGxldmVsKTtcbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJHR5cG9ncmFwaHlfbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICY6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGlua19ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0KCkge1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW47XG4gICAgcGFkZGluZzogJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nO1xuXG4gICAgQGluY2x1ZGUgbGlzdF9ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0oKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgbGlzdC1pdGVtX2hvb2soKTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1mb290ZXItbGlua3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rcy1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rcy1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuY3MtZm9vdGVyLWxpbmtzX19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rc19faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4OyB9IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhLFxuICAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAwIDRweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGEsXG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgLmNzLWZvb3Rlci1saW5rcyBhOmhvdmVyLFxuICAgIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rcyBhLFxuICAgICAgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRmb290ZXItbGlua3NfbGlzdC1pdGVtLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuJGZvb3Rlci1saW5rc19saW5rLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlOiAwIDAgNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlICFkZWZhdWx0O1xuXG5cbi4jeyRuc31mb290ZXItbGlua3Mge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICRmb290ZXItbGlua3NfbGlzdC1pdGVtLW1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGZvb3Rlci1saW5rc19saW5rLWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlO1xuICAgICAgICBmb250LXNpemU6ICRmb290ZXItbGlua3NfbGluay1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyLWxpbmtzX2xpbmstY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbGlua3NfbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLWRlc2t0b3A7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuICogRmFpciB3YXJuaW5nOiBEb24ndCBtaXggdW5pdHMgd2hpbGUgdXNpbmcgJ3V0aWxzL3BvbHktZmx1aWQtc2l6aW5nJyBmZWF0dXJlLlxuICogSWYgeW91IHVzZSByZW1zLCBzdGljayB0byByZW1zIGV2ZXJ5d2hlcmUgaW4gdGhlIGFyZWEgb2Ygd2hvbGUgbWFwLCBvciBlbHNlIHRoZSBtaXhpbiB3aWxsIHRocm93IGFuIGVycm9yXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndXRpbHMvcG9seS1mbHVpZC1zaXppbmcnO1xuQGltcG9ydCAndXRpbHMvY2xlYXJmaXgnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLXNob3c6IGZhbHNlICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWhlaWdodDogMCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1jb2xvcjogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF9icmlja3MtZ3V0dGVyOiAwICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X2JyaWNrLW1hcmdpbjogJGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2stcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLXdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8taGVpZ2h0OiAkdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0ICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1saWdodC1zY2hlbWUtY29sb3I6ICRzY2hlbWUtLWxpZ2h0X3RleHRzLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjogJHNjaGVtZS0tZGFya190ZXh0cy1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItY29udGVudC1saW5lLWhlaWdodDogMS4xNSAhZGVmYXVsdDtcblxuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luOiAwLjJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC13ZWlnaHQ6ICR0ZXh0cy1vbi1pbWFnZV9oZWFkbGluZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW46IDEuOHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC1zaXplLW1heDogMi44cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXNpemUtbWluLFxuICAgICRwYWdlX21heC13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXNpemUtbWF4LFxuKSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtYm90dG9tLW1hcmdpbjogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1oZWFkbGluZS1mb250LXNpemUtbWluOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1tYXg6IDRyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW4sXG4gICAgJHBhZ2VfbWF4LXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW46IDAuNmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXdlaWdodDogJHRleHRzLW9uLWltYWdlX3N1YmhlYWRsaW5lLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogJHRleHRzLW9uLWltYWdlX3N1YmhlYWRsaW5lLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWluOiAxLjZyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1tYXg6IDEuOHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1tYXA6IChcbiAgICAkcGFnZV9taW4td2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW46ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1pbjogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWluICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1zdWJoZWFkbGluZS1mb250LXNpemUtbWF4OiAyLjVyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1taW4sXG4gICAgJHBhZ2VfbWF4LXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1ib3R0b20tbWFyZ2luOiAxZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXdlaWdodDogJHRleHRzLW9uLWltYWdlX3RleHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC10ZXh0LXRyYW5zZm9ybTogJHRleHRzLW9uLWltYWdlX3RleHQtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXNpemUtbWluOiAxLjNyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXNpemUtbWF4OiAxLjRyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbjogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtc2l6ZS1taW46ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1taW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LXNpemUtbWF4OiAxLjZyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLy8gdmFsdWVzOiBmYWxzZSAvIGJyZWFrcG9pbnQgbmFtZSAtIHRoZSBzYW1lIGFzIGZvciBAbWVkaWEgbWl4aW47XG4vLyBVc2UgZmFsc2UgaWYgeW91IGRvbid0IHdhbnQgdG8gaGlkZSBidXR0b24gYXQgYWxsXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWJ1dHRvbi12aXNpYmxlLWZyb206ICc+PXRhYmxldCc7XG5cbiRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdzogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvcixcbiAgICBjb2x1bW5zLFxuICAgIG9uZS1jb2x1bW5cbikgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhcjogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvcixcbiAgICBjb2x1bW5zLFxuICAgIG11bHRpcGxlLWNvbHVtbnNcbikgIWRlZmF1bHQ7XG5cbi8vIEFwcGx5IG5vcm1hbCBmbG93IGZvciB0ZWFzZXJzIG9uIHNtYWxsZXN0IG1vYmlsZSwgaW5zdGVhZCBvZiB0ZWFzZXJzIHdpdGggaGFyZGNvZGVkIDEwMCUgd2lkdGhcbiRncmlkLWxheW91dF9zbWFsbC1tb2JpbGUtc3RhbmRhcmQtdGVhc2Vycy1mbG93OiBmYWxzZSAhZGVmYXVsdDtcblxuLiN7JG5zfWdyaWQtbGF5b3V0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYgJGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXIgPT0gMCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMiAqICN7JGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXJ9KTtcbiAgICAgICAgbWFyZ2luOiAtI3skZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlcn0gLSN7JGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXJ9IDA7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgJl9fdGVhc2VyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLWNoaWxkLXBvc2l0aW9uKCk7XG5cbiAgICAgICAgJi1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1maWd1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC8qIFZhcmlhbnRzIHdpbGwgYmUgcmVmYWN0b3JlZCBhZnRlciBDQyBJVCByZWZhY3RvciBkdWUgdG8gbmV3IHBvc2l0aW9uIG9wdGlvbnMgKi9cbiAgICAgICAgICAgICYtLXZhcmlhbnQtMSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXZhcmlhbnQtMiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmFyaWFudC0zIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmFyaWFudC00IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50LWlubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luO1xuICAgICAgICAgICAgY29sb3I6ICRncmlkLWxheW91dF90ZWFzZXItZGFyay1zY2hlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LW1hcFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JyaWNrLS14MiAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtbWFwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3RlYXNlci0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWxpZ2h0LXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAnZm9udC1zaXplJyxcbiAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtbWFwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2stLXgyICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1tYXBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fdGVhc2VyLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmlkLWxheW91dF90ZWFzZXItbGlnaHQtc2NoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvbHktZmx1aWQtc2l6aW5nKFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtbWFwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2stLXgyICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LW1hcFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X190ZWFzZXItLXNjaGVtZS1saWdodCAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1saWdodC1zY2hlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWN0YSB7XG4gICAgICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJpY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1sYXlvdXRfYnJpY2stbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1sYXlvdXRfYnJpY2stcGFkZGluZztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgICAgICR3aWR0aDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLXdpZHRoLFxuICAgICAgICAgICAgJGhlaWdodDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLWhlaWdodCxcbiAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSk7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICYtLXgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRpdGVtc1BlclJvd30gKiAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXgyOm5vdCgjeyRyb290fV9fYnJpY2stLXkyKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUoXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8td2lkdGggKiAyLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRncmlkLWxheW91dF9icmljay1yYXRpby1oZWlnaHRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICYjeyRyb290fV9fYnJpY2stLXRlYXNlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICYjeyRyb290fV9fYnJpY2stLWxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLW92ZXJyaWRlKFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRncmlkLWxheW91dF9icmljay1yYXRpby13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLWhlaWdodCAqIDJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX2JyaWNrLS10ZWFzZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdGVhc2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1yZWFkeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aXRoLXNpZGViYXIge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAgICAgICAgICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhclxuICAgICAgICB7XG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skaXRlbXNQZXJSb3d9KTtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSAqIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1zaG93IHtcbiAgICAgICAgJixcbiAgICAgICAgJl9fYnJpY2sge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWhlaWdodDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JpZC1sYXlvdXRfcm93cy1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0jeyRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1oZWlnaHR9O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgJl9fZ3JpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGl0ZW1zUGVyUm93fSwgMWZyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhclxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRpdGVtc1BlclJvd30sIDFmcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19icmljayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tcmVzZXQoXG4gICAgICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRncmlkLWxheW91dF9zbWFsbC1tb2JpbGUtc3RhbmRhcmQtdGVhc2Vycy1mbG93KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH06bm90KCN7JHJvb3R9LS13aXRoLXNpZGViYXIpICYge1xuICAgICAgICAgICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkaXRlbXNQZXJSb3cgaW4gJGdyaWQtbGF5b3V0X2JyaWNrcy1wZXItcm93IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS14Mjpub3QoI3skcm9vdH1fX2JyaWNrLS15Mikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1vdmVycmlkZS1yZXNldCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX2JyaWNrLS14Mikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUtcmVzZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmLS10ZWFzZXItcmVhZHkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXRlYXNlci1yZWFkeSB7XG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkZ3JpZC1sYXlvdXRfc21hbGwtbW9iaWxlLXN0YW5kYXJkLXRlYXNlcnMtZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoLXNpZGViYXIge1xuICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsXG4gICAgICAgICAgICAgICAgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdy0td2l0aC1zaWRlYmFyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2JyaWNrIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX2JyaWNrLS14Mikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPj0gMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPj0gMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG4gKiBGYWlyIHdhcm5pbmc6IERvbid0IG1peCB1bml0cyB3aGlsZSB1c2luZyAndXRpbHMvcG9seS1mbHVpZC1zaXppbmcnIGZlYXR1cmUuXG4gKiBJZiB5b3UgdXNlIHJlbXMsIHN0aWNrIHRvIHJlbXMgZXZlcnl3aGVyZSBpbiB0aGUgYXJlYSBvZiB3aG9sZSBtYXAsIG9yIGVsc2UgdGhlIG1peGluIHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxNzlcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1ncmlkLWxheW91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWltYWdlIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAvKiBWYXJpYW50cyB3aWxsIGJlIHJlZmFjdG9yZWQgYWZ0ZXIgQ0MgSVQgcmVmYWN0b3IgZHVlIHRvIG5ldyBwb3NpdGlvbiBvcHRpb25zICovIH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtMSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC0tdmFyaWFudC0yIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtMyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtNCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtaW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzJyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxLjA4Njk2dncgKyAxLjQ1MjE3cmVtKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0cmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzJyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoMi4zOTEzdncgKyAxLjAzNDc4cmVtKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDRyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItLXNjaGVtZS1saWdodCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAwLjZlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjKDAuMjE3Mzl2dyArIDEuNTMwNDNyZW0pOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjk3ODI2dncgKyAxLjI4Njk2cmVtKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci0tc2NoZW1lLWxpZ2h0IC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMoMC4xMDg3dncgKyAxLjI2NTIycmVtKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0cmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDAuMzI2MDl2dyArIDEuMTk1NjVyZW0pOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNHJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItLXNjaGVtZS1saWdodCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbi5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24gKiwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uLXNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICByaWdodDogMWVtOyB9XG4gIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzAlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljayAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1ICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUgKiAyKTsgfSB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDI6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyKTpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IDg1JTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14Mjpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIpLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mi5jcy1ncmlkLWxheW91dF9fYnJpY2stLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mjpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzQwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mi5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlcjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXI6YmVmb3JlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXItcmVhZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpOyB9IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIC5jcy1wcm9kdWN0LXRpbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14Mjpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIpOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mjpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLCAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXItcmVhZHkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyLXJlYWR5IHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfSB9XG4iLCIvKioqXG4gKiBVc2luZyBwc3VlZG8gZWxlbWVudHMgdG8gbWFpbnRhaW4gYW4gZWxlbWVudHMgYXNwZWN0IHJhdGlvLCBldmVuIGFzIGl0IHNjYWxlc1xuICogSXQncyB1c2luZyBvbmx5IGZvciBJRTExIGFuZCBFZGdlICh2ZXJzaW9uIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQpIGJyb3dzZXJzXG4gKiBGb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQsIHdlIGFyZSB1c2luZyBtaXhpbnMgY29udGFpbiBgcmVzZXRgIGluIG1peGluIG5hbWVcbiAqIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWl4aW5zIChwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9tYWludGFpbi1hc3BlY3QtcmF0aW8tbWl4aW4vXG4gKiBAcGFyYW0ge251bWJlcn0gJHdpZHRoOiB3aWR0aCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnRDbGFzczogY2xhc3Mgb2YgdGhlIGRpcmVjdCBjaGlsZCBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseTtcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGF1dG9wb3NpdGlvbjogdGVsbHMgaWYgaXRlbSBzaGFsbCB0YWtlIDEwMCUgb2YgcGFyZW50IHNpemUgb3IgaWYgaXQgY2FuIGJlIHdpZGVyL2hpZ2hlciBpZiBuZWVkZWQ7XG4gKi9cblxuQGZ1bmN0aW9uIGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBAcmV0dXJuICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0LCAkY2hpbGRDbGFzcywgJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpO1xuICAgIH1cblxuICAgIC4jeyRjaGlsZENsYXNzfSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLXJlc2V0KCRjaGlsZENsYXNzLCAkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC4jeyRjaGlsZENsYXNzfSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLWNoaWxkLXBvc2l0aW9uKCRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLW92ZXJyaWRlKCR3aWR0aCwgJGhlaWdodCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpO1xuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1vdmVycmlkZS1yZXNldCgpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4gKlxuICogRm9yIG1vZGVybiBicm93c2Vyc1xuICogMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbiAqICAgIGBjb250ZW50ZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbiAqICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuICogICAgdGhhdCByZWNlaXZlIHRoZSBgY2xlYXJmaXhgIGNsYXNzLlxuICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDE3OVxuICovXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG4iLCIvLy8gcG9seS1mbHVpZC1zaXppbmdcbi8vLyBHZW5lcmF0ZSBsaW5lYXIgaW50ZXJwb2xhdGVkIHNpemUgdmFsdWVzIHRocm91Z2ggbXVsdGlwbGUgYnJlYWsgcG9pbnRzXG4vLy8gQHBhcmFtICRwcm9wZXJ0eSAtIEEgc3RyaW5nIENTUyBwcm9wZXJ0eSBuYW1lXG4vLy8gQHBhcmFtICRtYXAgLSBBIFNBU1MgbWFwIG9mIHZpZXdwb3J0IHVuaXQgYW5kIHNpemUgdmFsdWUgcGFpcnNcbi8vLyBAcmVxdWlyZXMgZnVuY3Rpb24gbGluZWFyLWludGVycG9sYXRpb25cbi8vLyBAcmVxdWlyZXMgZnVuY3Rpb24gbWFwLXNvcnRcbi8vLyBAZXhhbXBsZVxuLy8vICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoJ2ZvbnQtc2l6ZScsICg1NzZweDogMjJweCwgNzY4cHg6IDI0cHgsIDk5MnB4OiAzNHB4KSk7XG4vLy8gQGF1dGhvciBKYWtlIFdpbHNvbiA8amFrZS5lLndpbHNvbkBnbWFpbC5jb20+XG5AbWl4aW4gcG9seS1mbHVpZC1zaXppbmcoJHByb3BlcnR5LCAkbWFwKSB7XG4gICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgcHJvdmlkZWQgYnJlYWtwb2ludHNcbiAgICAkbGVuZ3RoOiBsZW5ndGgobWFwLWtleXMoJG1hcCkpO1xuXG4gICAgLy8gRXJyb3IgaWYgdGhlIG51bWJlciBvZiBicmVha3BvaW50cyBpcyA8IDJcbiAgICBAaWYgKCRsZW5ndGggPCAyKSB7XG4gICAgICAgIEBlcnJvciBcInBvbHktZmx1aWQtc2l6aW5nKCkgJG1hcCByZXF1aXJlcyBhdCBsZWFzdCB2YWx1ZXNcIjtcbiAgICB9XG5cbiAgICAvLyBTb3J0IHRoZSBtYXAgYnkgdmlld3BvcnQgd2lkdGggKGtleSlcbiAgICAkbWFwOiBtYXAtc29ydCgkbWFwKTtcbiAgICAka2V5czogbWFwLWtleXMoJG1hcCk7XG5cbiAgICAvLyBNaW5pbXVtIHNpemVcbiAgICAjeyRwcm9wZXJ0eX06IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAxKSk7XG5cbiAgICAvLyBJbnRlcnBvbGF0ZWQgc2l6ZSB0aHJvdWdoIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGxlbmd0aCAtIDEpIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG50aCgka2V5cywkaSkpIHtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogbGluZWFyLWludGVycG9sYXRpb24oXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICBudGgoJGtleXMsICRpKTogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsICRpKSksXG4gICAgICAgICAgICAgICAgICAgIG50aCgka2V5cywgKCRpICsgMSkpOiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgKCRpICsgMSkpKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWF4bWltdW0gc2l6ZVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBudGgoJGtleXMsJGxlbmd0aCkpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgJGxlbmd0aCkpO1xuICAgIH1cbn1cblxuLy8vIGxpbmVhci1pbnRlcnBvbGF0aW9uXG4vLy8gQ2FsY3VsYXRlIHRoZSBkZWZpbml0aW9uIG9mIGEgbGluZSBiZXR3ZWVuIHR3byBwb2ludHNcbi8vLyBAcGFyYW0gJG1hcCAtIEEgU0FTUyBtYXAgb2Ygdmlld3BvcnQgd2lkdGhzIGFuZCBzaXplIHZhbHVlIHBhaXJzXG4vLy8gQHJldHVybnMgQSBsaW5lYXIgZXF1YXRpb24gYXMgYSBjYWxjKCkgZnVuY3Rpb25cbi8vLyBAZXhhbXBsZVxuLy8vICAgZm9udC1zaXplOiBsaW5lYXItaW50ZXJwb2xhdGlvbigoMzIwcHg6IDE4cHgsIDc2OHB4OiAyNnB4KSk7XG4vLy8gQGF1dGhvciBKYWtlIFdpbHNvbiA8amFrZS5lLndpbHNvbkBnbWFpbC5jb20+XG5AZnVuY3Rpb24gbGluZWFyLWludGVycG9sYXRpb24oJG1hcCkge1xuICAgICRrZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICBAaWYgKGxlbmd0aCgka2V5cykgIT0gMikge1xuICAgICAgICBAZXJyb3IgXCJsaW5lYXItaW50ZXJwb2xhdGlvbigpICRtYXAgbXVzdCBiZSBleGFjdGx5IDIgdmFsdWVzXCI7XG4gICAgfVxuICAgIC8vIFRoZSBzbG9wZVxuICAgICRtOiAobWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDIpKSAtIG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAxKSkpIC9cbiAgICAgICAgKG50aCgka2V5cywgMikgLSBudGgoJGtleXMsIDEpKTtcblxuICAgIC8vIFRoZSB5LWludGVyY2VwdFxuICAgICRiOiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgMSkpIC0gJG0gKiBudGgoJGtleXMsIDEpO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBzaWduIHNob3VsZCBiZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZVxuICAgICRzaWduOiAnKyc7XG4gICAgQGlmICgkYiA8IDApIHtcbiAgICAgICAgJHNpZ246ICctJztcbiAgICAgICAgJGI6IGFicygkYik7XG4gICAgfVxuXG4gICAgQHJldHVybiBjYWxjKCN7JG0gKiAxMDB9dncgI3skc2lnbn0gI3skYn0pO1xufVxuXG4vLy8gbGlzdC1zb3J0XG4vLy8gU29ydCBhIFNBU1MgbGlzdFxuLy8vIEBwYXJhbSAkbGlzdCAtIEEgU0FTUyBsaXN0XG4vLy8gQHJldHVybnMgQSBzb3J0ZWQgU0FTUyBsaXN0XG4vLy8gQHJlcXVpcmVzIGZ1bmN0aW9uIGxpc3QtcmVtb3ZlXG4vLy8gQGF1dGhvciBKYWtlIFdpbHNvbiA8amFrZS5lLndpbHNvbkBnbWFpbC5jb20+XG5AZnVuY3Rpb24gbGlzdC1zb3J0KCRsaXN0KSB7XG4gICAgJHNvcnRlZGxpc3Q6ICgpO1xuICAgIEB3aGlsZSBsZW5ndGgoJGxpc3QpID4gMCB7XG4gICAgICAgICR2YWx1ZTogbnRoKCRsaXN0LCAxKTtcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICRpdGVtIDwgJHZhbHVlIHtcbiAgICAgICAgICAgICAgICAkdmFsdWU6ICRpdGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRzb3J0ZWRsaXN0OiBhcHBlbmQoJHNvcnRlZGxpc3QsICR2YWx1ZSwgJ3NwYWNlJyk7XG4gICAgICAgICRsaXN0OiBsaXN0LXJlbW92ZSgkbGlzdCwgaW5kZXgoJGxpc3QsICR2YWx1ZSkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRzb3J0ZWRsaXN0O1xufVxuXG4vLy8gbWFwLXNvcnRcbi8vLyBTb3J0IG1hcCBieSBrZXlzXG4vLy8gQHBhcmFtICRtYXAgLSBBIFNBU1MgbWFwXG4vLy8gQHJldHVybnMgQSBTQVNTIG1hcCBzb3J0ZWQgYnkga2V5c1xuLy8vIEByZXF1aXJlcyBmdW5jdGlvbiBsaXN0LXNvcnRcbi8vLyBAYXV0aG9yIEpha2UgV2lsc29uIDxqYWtlLmUud2lsc29uQGdtYWlsLmNvbT5cbkBmdW5jdGlvbiBtYXAtc29ydCgkbWFwKSB7XG4gICAgJGtleXM6IGxpc3Qtc29ydChtYXAta2V5cygkbWFwKSk7XG4gICAgJHNvcnRlZE1hcDogKCk7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgICRzb3J0ZWRNYXA6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICRzb3J0ZWRNYXAsXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgJGtleTogbWFwLWdldCgkbWFwLCAka2V5KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgQHJldHVybiAkc29ydGVkTWFwO1xufVxuXG4vLy8gbGlzdC1yZW1vdmVcbi8vLyBSZW1vdmUgYW4gaXRlbSBmcm9tIGEgbGlzdFxuLy8vIEBwYXJhbSAkbGlzdCAtIEEgU0FTUyBsaXN0XG4vLy8gQHBhcmFtICRpbmRleCAtIFRoZSBsaXN0IGluZGV4IHRvIHJlbW92ZVxuLy8vIEByZXR1cm5zIEEgU0FTUyBsaXN0XG4vLy8gQGF1dGhvciBKYWtlIFdpbHNvbiA8amFrZS5lLndpbHNvbkBnbWFpbC5jb20+XG5AZnVuY3Rpb24gbGlzdC1yZW1vdmUoJGxpc3QsICRpbmRleCkge1xuICAgICRuZXdMaXN0OiAoKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuICAgICAgICBAaWYgJGkgIT0gJGluZGV4IHtcbiAgICAgICAgICAgICRuZXdMaXN0OiBhcHBlbmQoJG5ld0xpc3QsIG50aCgkbGlzdCwgJGkpLCAnc3BhY2UnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRuZXdMaXN0O1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWhlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMmVtIDA7XG4gIG1hcmdpbjogMmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkbGluZSB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLWhlYWRsaW5lLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyLjZlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNzLWhlYWRsaW5lX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM2RTZFNkU7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGxpbmVfX3N1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZS1ob29rKCkge1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtdGl0bGUtaG9vaygpIHtcbn1cblxuQG1peGluIGhlYWRsaW5lLXN1YnRpdGxlLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL21peGluJztcblxuLiN7JG5zfWhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZSgpO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUoKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL2hvb2snO1xuXG4kaGVhZGxpbmVfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS1mb250LXNpemU6IDIuNmVtICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4vLyBTaG93IGZsZXhpYmxlIGRlY29yYXRpb24gbGluZXMgYXQgdGhlIHNpZGVzIG9mIHRoZSB0aXRsZS5cbiRoZWFkbGluZV90aXRsZS1saW5lcy1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS1saW5lcy1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRoZWFkbGluZV9zdWJ0aXRsZS1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtZm9udC1zaXplOiAxLjNlbSAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuQG1peGluIGhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMmVtIDA7XG4gICAgbWFyZ2luOiAyZW0gMDtcblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lLWhvb2soKTtcbn1cblxuQG1peGluIGhlYWRsaW5lLXRpdGxlKFxuICAgICRjb2xvcjogJGhlYWRsaW5lX3RpdGxlLWNvbG9yLFxuICAgICRmb250LXNpemU6ICRoZWFkbGluZV90aXRsZS1mb250LXNpemUsXG4gICAgJGZvbnQtd2VpZ2h0OiAkaGVhZGxpbmVfdGl0bGUtZm9udC13ZWlnaHQsXG4gICAgJHRleHQtdHJhbnNmb3JtOiAkaGVhZGxpbmVfdGl0bGUtdGV4dC10cmFuc2Zvcm0sXG4gICAgJGxpbmVzLWVuYWJsZWQ6ICRoZWFkbGluZV90aXRsZS1saW5lcy1lbmFibGVkLFxuICAgICRsaW5lcy1jb2xvcjogJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWNvbG9yXG4pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHRleHQtdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBpZiAkbGluZXMtZW5hYmxlZCB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmVzLWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lLXRpdGxlLWhvb2soKTtcbn1cblxuQG1peGluIGhlYWRsaW5lLXN1YnRpdGxlKFxuICAgICRjb2xvcjogJGhlYWRsaW5lX3N1YnRpdGxlLWNvbG9yLFxuICAgICRmb250LXNpemU6ICRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXNpemUsXG4gICAgJGZvbnQtd2VpZ2h0OiAkaGVhZGxpbmVfc3VidGl0bGUtZm9udC13ZWlnaHQsXG4gICAgJHRleHQtdHJhbnNmb3JtOiAkaGVhZGxpbmVfc3VidGl0bGUtdGV4dC10cmFuc2Zvcm1cbikge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0LXRyYW5zZm9ybTtcbiAgICBtYXJnaW46ICRoZWFkbGluZV9zdWJ0aXRsZS1tYXJnaW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lLXN1YnRpdGxlLWhvb2soKTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbi5jcy1jb250YWluZXItLWhlYWRlci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyLWJhbm5lci5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmNzLWNvbnRhaW5lci0tdG9wLWJhciwgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS10b3AtYmFyLCAuY3MtY29udGFpbmVyLS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXJfX25hdmlnYXRpb24taW5uZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNzLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1oZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcxcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1oZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYxcHg7IH0gfVxuICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWxsLWNoYW5nZTogei1pbmRleCwgaGVpZ2h0LCBwb3NpdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWhlYWRlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLmNzLWhlYWRlcl9fY29udGVudCAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgLmNzLWhlYWRlcl9fb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDAgMSA1NXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBmbGV4OiAwIDEgNzVweDsgfVxuICAgICAgICAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIC5jcy1vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgICB3aWR0aDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XG4gICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTlweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28gLmNzLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE5NXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyAuY3MtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyAuY3MtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTg1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7IH0gfVxuICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgbWF4LXdpZHRoOiAxMjRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgICAucGFnZS1wcmludCAuY3MtaGVhZGVyX19sb2dvOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1oZWFkZXJfX2xvZ28gLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU4cHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNi44cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICB0b3A6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCA0NXB4O1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmllMTEgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICB0b3A6IGluaGVyaXQ7IH0gfVxuICAgIC5jcy1oZWFkZXJfX3NlYXJjaC0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBpbml0aWFsOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4OiAwIDEgNzVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX191c2VyLW5hdiB7XG4gICAgICAgIGZsZXg6IDAgMSAyNyU7IH0gfVxuICAuY3MtaGVhZGVyIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdGVsZXBob25lNjYuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA0NiU7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgcGFkZGluZzogMThweCAxNXB4IDAgMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL21peGluJztcblxuJGhlYWRlcl9mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyX2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcblxuJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlcl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbi8vIEhvcml6b250YWwgYWxpZ24gb2YgdGhlIHNlYXJjaGJveCBpZiBpdCdzIGRpc3BsYXllZCBhcyBhIGxheWVyIC0gYCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50YFxuJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhZGVmYXVsdDtcblxuLy8gSWYgeW91IHdhbnQgdG8gY292ZXIgJ3NlYXJjaCcgaXRlbSBpbiBoZWFkZXIgYnkgc2VhcmNoYm94LCBwcm92aWRlIHByb3BlciBuZWdhdGl2ZSBtYXJnaW4gYmFzZWQgb24geW91ciBkZXNpZ25cbi8vIEl0IHdvcmtzIG9ubHkgaWYgJyRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50JyBoYXMgdmFsaWQgYnJlYWtwb2ludCBhbmQgYCRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudGAgPSBmbGV4LWVuZFxuJGhlYWRlcl9zZWFyY2hib3gtbWFyZ2luLXRvLWNvdmVyLXNlYXJjaC1pdGVtOiAtNi44cmVtICFkZWZhdWx0O1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2hlYWRlci1iYW5uZXIuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICYtLXRvcC1iYXIsXG4gICAgJi0taGVhZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbi1pbm5lclxuICAgIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cbi4jeyRuc31oZWFkZXIge1xuICAgICRyb290OiAmO1xuICAgIGZvbnQtc2l6ZTogJGhlYWRlcl9mb250LXNpemU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzFweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYxcHg7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWxsLWNoYW5nZTogei1pbmRleCwgaGVpZ2h0LCBwb3NpdGlvbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICAgICAgICAgIG9yZGVyOjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICAgICAgICBvcmRlcjoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICAgICAgICAgICAgb3JkZXI6MztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMSA1NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSA3NXB4O1xuICAgICAgICAgICAgLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDIuNHJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDU4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIHRvcDogNjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4IDAgNDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCBhbmRcbiAgICAgICAgICAgICAgICAkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQgPT1cbiAgICAgICAgICAgICAgICAnZmxleC1lbmQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudCA9PSAnZmxleC1lbmQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c2VyLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMSA3NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAyNyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdGVsZXBob25lNjYuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDQ2JTtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMTVweCAwIDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbm90KCRoZWFkZXJfaXMtc3RpY2t5LW9uLW1vYmlsZSkge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAuY3MtY29udGFpbmVyLS1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2ggLmZpbGxlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgbWF4LXdpZHRoOiA2MDVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gICAgLmFjdGl2ZS1wb3B1cCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlLCAuYWN0aXZlLXBvcHVwIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMS4ycmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlYXJjaDE5LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMTA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuYWpheC1sb2FkaW5nIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1cyArIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24gLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmFqYXgtbG9hZGluZyAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyMjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4OyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb246aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzNFM0UzRTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KSwgb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24gKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbiB7XG4gICAgdHJhbnNmb3JtOiBza2V3KDE4ZGVnKSB0cmFuc2xhdGVYKC0wLjNyZW0pOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbi0tbG9hZGVyIHtcbiAgICAgIHN0cm9rZTogI2ZmZmZmZjtcbiAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICBoZWlnaHQ6IDMuMnJlbTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tbGVmdDogLTRweDsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUgLm9sZC1wcmljZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gNXJlbSAtIDEuMjc1ZW0gLSA3cmVtKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRoZWFkZXItc2VhcmNoX2hlaWdodDogMi44NzVlbSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuXG4vLyBXaWR0aCBvZiB0aGUgc2VhcmNoIGZpZWxkLiBXb3JrcyBvbmx5IGZvciBgJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnRgIGJyZWFrcG9pbnQsIGluIG90aGVyIGNhc2UgaXQncyBhbHdheXMgMTAwJVxuJGhlYWRlci1zZWFyY2gtd2lkdGgtYXMtbGF5ZXI6IDQyLjd2dyAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfY2xvc2UtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLXdpZHRoOiAxMDVweCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9idXR0b24tdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwIHRyYW5zbGF0ZVgoMC43cmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ljb24tc2VhcmNoLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLWxvYWRlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAtcmV2ZXJ0IHRyYW5zbGF0ZVgoLTAuM3JlbSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2J1dHRvbi1jb250YWluZXItdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXNcbiAgICAgICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMCxcbiAgICBvcGFjaXR5IDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJveC1zaGFkb3c6IDAgNHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlOiAyNXB4O1xuXG4uI3skbnN9aGVhZGVyLXNlYXJjaCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZpbGxlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1heC13aWR0aDogNjA1cHg7XG4gICAgfVxuXG4gICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAuYWN0aXZlLXBvcHVwICYge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWFyY2gxOS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2hfZm9udC1zaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjEwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTEwcHg7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgKyAjeyRyb290fV9fYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAuYWpheC1sb2FkaW5nICYge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWNvbnRhaW5lci0tbG9hZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMjIwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItc2VhcmNoX2Nsb3NlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tY29udGFpbmVyLXRyYW5zaXRpb247XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGhlYWRlci1zZWFyY2hfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICdsZWZ0J1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaF9idXR0b24td2lkdGg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG91dGRvb3JfcHJpbWFyeV9kYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06ICRoZWFkZXItc2VhcmNoX2ljb24tdHJhbnNmb3JtO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9hZGVyIHtcbiAgICAgICAgICAgIHN0cm9rZTogJGhlYWRlci1zZWFyY2hfaWNvbi1sb2FkZXItY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIH1cblxuICAgICZfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdmggLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGV9IC0gI3skZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0fSAtXG4gICAgICAgICAgICAgICAgICAgIDdyZW1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGhlYWRlci1zZWFyY2hfYXV0b2NvbXBsZXRlLWJveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwIDE4cHggMCAwO1xuICAgICAgbWluLXdpZHRoOiAzNjVweDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDE3cHggMCAyMHB4IDIwcHg7IH0gfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmstLXNlYXJjaDpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay5zaG93Y2FydCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7IH1cbiAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay5zaG93Y2FydCAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay5zaG93Y2FydCAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCA+IHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLnNob3djYXJ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24ge1xuICAgIHdpZHRoOiAyLjZyZW07XG4gICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDRweCAwIDAgMTJweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMCA2cHg7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3Qge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1taW5pY2FydCB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWhhdmUtaXRlbXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItc3BhbiB7XG4gICAgbWluLXdpZHRoOiAxY2g7IH1cblxuLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbi13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG4uY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDFweCAwIDFweCA3cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgIG1hcmdpbjogM3B4IDAgMnB4IDEwcHg7IH0gfVxuXG4uY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24ge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgIGZpbGw6ICMwMDA7IH1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gcXR5LWNvdW50ZXJfaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfdHlwZS1ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl9zcGFuLWhvb2soJHR5cGUpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9xdHktY291bnRlci9taXhpbic7XG5cbiRoZWFkZXItdXNlci1uYXZfaXRlbXM6IDMgIWRlZmF1bHQ7IC8vIG51bWJlciBvZiBpdGVtcyBpbiBoZWFkZXIgdXNlciBuYXYgKHdpdGhvdXQgc2VhcmNoIGl0ZW0pXG5cbiRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg6IDIuNnJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi1oZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aCAhZGVmYXVsdDtcblxuLy8gU2V0IHVwIHdoZW4gbGFiZWwgaW4gaGVhZGVyIHVzZXIgbmF2IHNob3VsZCBiZSB2aXNpYmxlXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiB0cnVlIChhbHdheXMpIHwgZmFsc2UgKG5ldmVyKSB8IGJyZWFrcG9pbnRcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZTogJz49dGFibGV0JyAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1tYXJnaW4tdG9wOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItd2lzaGxpc3Qtc2hvdy1lbXB0eTogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLW1pbmljYXJ0LXNob3ctZW1wdHk6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1hbmltYXRpb24tc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcblxuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci10b3Atb2Zmc2V0OiAtMC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtbW9iaWxlOiAtMC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtdGFibGV0OiAtMXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LWRlc2t0b3A6IC0xcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aGVhZGVyLXVzZXItbmF2IHtcbiAgICAkcm9vdDogJjtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICBwYWRkaW5nOiAwIDE4cHggMCAwO1xuICAgICAgICBtaW4td2lkdGg6IDM2NXB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMCAyMHB4IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNob3djYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X2ljb24taGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiA0cHggMCAwIDEycHg7XG4gICAgICAgIGNvbG9yOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luOiA0cHggMCAwIDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F0eS1jb3VudGVyIHtcblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlKCd3aXNobGlzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWluaWNhcnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZSgnbWluaWNhcnQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhdmUtaXRlbXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgICYjeyRyb290fV9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItd2lzaGxpc3Qtc2hvdy1lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiN7JHJvb3R9X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1taW5pY2FydC1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LWNvdW50ZXItc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3NwYW4oKTtcbiAgICB9XG59XG5cbi5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYge1xuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9faWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbjogMXB4IDAgMXB4IDdweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDAgMnB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdHktY291bnRlci9ob29rJztcblxuJHF0eS1jb3VudGVyX2ZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2hlaWdodDogMS44ZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfcGFkZGluZzogMCAwLjZyZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfYm9yZGVyOiAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM6IDAuMnJlbSAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyX3RyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTMwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9zcGFuLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTMwMC1yZXZlcnQgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLWRlZmF1bHQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1taW5pY2FydC1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS1taW5pY2FydC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLXdpc2hsaXN0LWJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS13aXNobGlzdC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gcXR5LWNvdW50ZXIoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLWRlZmF1bHQtY29sb3I7XG4gICAgdHJhbnNmb3JtOiAkcXR5LWNvdW50ZXJfdHJhbnNmb3JtO1xuICAgIGJvcmRlcjogJHF0eS1jb3VudGVyX2JvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkcXR5LWNvdW50ZXJfYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkcXR5LWNvdW50ZXJfcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRxdHktY291bnRlcl9mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6ICRxdHktY291bnRlcl9mb250LXdlaWdodDtcbiAgICBoZWlnaHQ6ICRxdHktY291bnRlcl9oZWlnaHQ7XG4gICAgLy8gUHJldmVudCBJRTExIGFuZCBFZGdlIGJ1ZyB3aXRoIGJhY2tncm91bmQgYW5kIHJvdW5kIGJvcmRlcnNcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl90eXBlKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBAaWYgKCR0eXBlID09ICd3aXNobGlzdCcpIHtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0td2lzaGxpc3QtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnbWluaWNhcnQnKSB7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLW1pbmljYXJ0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBtaW4td2lkdGg6IDFjaDtcblxuICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3NwYW4taG9vaygkdHlwZSk7XG59XG4iLCIubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcsXG4uc3dpcGVyLWxhenkge1xuICAgIC8vIEFkZGVkIHRvIHByZXZlbnQgbGF6eVNpemVzIGZyb20gZGVsYXlpbmcgaW1hZ2VzIGxvYWQuXG4gICAgb3BhY2l0eTogMC4wMDE7XG59XG5cbi5sYXp5bG9hZGVkLFxuLnN3aXBlci1sYXp5LWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbiAuY3MtbGlua3MtYmxvY2stYWRkdG8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0by0tY2VudGVyZWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtICsgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW06bnRoLWNoaWxkKDJuKSAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogI0ZGNzQ0MjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRjc0NDI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uIHtcbiAgICB3aWR0aDogMS4zNzVlbTtcbiAgICBoZWlnaHQ6IDEuMzc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjNkU2RTZFOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pY29uLS13aXNobGlzdCBwYXRoIHtcbiAgICAgIGZpbGw6ICNDQzFDM0E7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24tLWNvbXBhcmUgcGF0aCB7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJGxpbmtzLWJsb2NrLWFkZHRvX3dpc2hsaXN0LWljb24tY29sb3I6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9fY29tcGFyZS1pY29uLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2NvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9faG92ZXItY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9fZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9faWNvbi13aWR0aDogMS4zNzVlbSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19pY29uLWhlaWdodDogMS4zNzVlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICAkcm9vdDogJjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5wYWdlLXByb2R1Y3QtYnVuZGxlICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC4jeyRuc31wcm9kdWN0LXRpbGVfX2FkZG9uICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXJlZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgKyAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxpbmtzLWJsb2NrLWFkZHRvX2ZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGxpbmtzLWJsb2NrLWFkZHRvX3dpc2hsaXN0LWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRsaW5rcy1ibG9jay1hZGR0b19jb21wYXJlLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWxvZ28ge1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLWxvZ29fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLiN7JG5zfWxvZ28ge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBGaXhlcyBoZWlnaHQ6IGF1dG8gYnVnIG9uIGNocm9tZS5cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLm1lc3NhZ2VzIHtcbiAgbWF4LXdpZHRoOiAxMjRyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UsXG4ubWVzc2FnZSB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMS4ycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogNC4zcmVtOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2Vzcyxcbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lc3NhZ2VzL3N1Y2Nlc3Muc3ZnXCIpO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNBOUM1NDY7XG4gIGJhY2tncm91bmQtc2l6ZTogMS45cmVtIDEuOXJlbTsgfVxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLXN1Y2Nlc3MgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLXN1Y2Nlc3Mgc3BhbixcbiAgLm1lc3NhZ2Uuc3VjY2VzcyAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5tZXNzYWdlLnN1Y2Nlc3Mgc3BhbiB7XG4gICAgY29sb3I6ICNBOUM1NDY7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1ub3RpY2UsXG4ubWVzc2FnZS53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tZXNzYWdlcy93YXJuaW5nLnN2Z1wiKTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjRkY3NDQyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNnJlbSAxLjZyZW07IH1cbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1ub3RpY2UgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSBzcGFuLFxuICAubWVzc2FnZS53YXJuaW5nIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLm1lc3NhZ2Uud2FybmluZyBzcGFuIHtcbiAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWluZm8sXG4ubWVzc2FnZS5pbmZvLFxuLm1lc3NhZ2Uubm90aWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tZXNzYWdlcy9pbmZvLnN2Z1wiKTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjNEE5MEUyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSAxLjVyZW07IH1cbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvIHNwYW4sXG4gIC5tZXNzYWdlLmluZm8gLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAubWVzc2FnZS5pbmZvIHNwYW4sXG4gIC5tZXNzYWdlLm5vdGljZSAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5tZXNzYWdlLm5vdGljZSBzcGFuIHtcbiAgICBjb2xvcjogIzRBOTBFMjsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWVycm9yLFxuLm1lc3NhZ2UuZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lc3NhZ2VzL3JlbW92ZS5zdmdcIik7XG4gIGJvcmRlcjogMS41cHggc29saWQgI0NDMUMzQTsgfVxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWVycm9yIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1lcnJvciBzcGFuLFxuICAubWVzc2FnZS5lcnJvciAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5tZXNzYWdlLmVycm9yIHNwYW4ge1xuICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG5cbi5jcy1tZXNzYWdlc19fdGV4dCxcbi5tZXNzYWdlIHNwYW4ge1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgICAubWVzc2FnZSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLmNzLW1lc3NhZ2VzLS1zcGFjZS10b3Age1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLmluY3JlbWVudC1ub3RpZmljYXRpb24ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gMS4ycmVtICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG1lc3NhZ2VzX3N1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfaW5mby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRtZXNzYWdlc19ub3RpY2UtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlc19zdWNjZXNzLWJvcmRlcjogMS41cHggc29saWQgJGNvbG9yX3N1Y2Nlc3MgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfaW5mby1ib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl9pbmZvICFkZWZhdWx0O1xuJG1lc3NhZ2VzX25vdGljZS1ib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl93YXJuICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2Vycm9yLWJvcmRlcjogMS41cHggc29saWQgJGNvbG9yX2Vycm9yICFkZWZhdWx0O1xuXG4kbWVzc2FnZXNfc3VjY2Vzcy1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfaW5mby1jb2xvcjogJGNvbG9yX2luZm8gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfbm90aWNlLWNvbG9yOiAkY29sb3Jfd2FybiAhZGVmYXVsdDtcbiRtZXNzYWdlc19lcnJvci1jb2xvcjogJGNvbG9yX2Vycm9yICFkZWZhdWx0O1xuXG5cbiRtZXNzYWdlc19ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJG1lc3NhZ2VzX3BhZGRpbmc6IDFyZW0gMXJlbSAxLjJyZW0gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJG1lc3NhZ2VfaWNvbi13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJG1lc3NhZ2VfaWNvbi1oZWlnaHQ6ICRtZXNzYWdlX2ljb24td2lkdGggIWRlZmF1bHQ7XG5cbi5tZXNzYWdlcyB7XG4gICAgbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZSxcbi5tZXNzYWdlIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAkbWVzc2FnZXNfcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkbWVzc2FnZXNfYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEuNXJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkbWVzc2FnZV9pY29uLXdpZHRoICRtZXNzYWdlX2ljb24taGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogNC4zcmVtO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLXN1Y2Nlc3MsXG4ubWVzc2FnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21lc3NhZ2VzL3N1Y2Nlc3Muc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfc3VjY2Vzcy1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjlyZW0gMS45cmVtO1xuICAgIC4jeyRuc31tZXNzYWdlc19fdGV4dCxcbiAgICBzcGFuICB7XG4gICAgICAgIGNvbG9yOiAkbWVzc2FnZXNfc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlLFxuLm1lc3NhZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX25vdGljZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21lc3NhZ2VzL3dhcm5pbmcuc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfbm90aWNlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS42cmVtIDEuNnJlbTtcbiAgICAuI3skbnN9bWVzc2FnZXNfX3RleHQsXG4gICAgc3BhbiAge1xuICAgICAgICBjb2xvcjogJG1lc3NhZ2VzX25vdGljZS1jb2xvcjtcbiAgICB9XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0taW5mbyxcbi5tZXNzYWdlLmluZm8sXG4ubWVzc2FnZS5ub3RpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19pbmZvLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWVzc2FnZXMvaW5mby5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19pbmZvLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjZyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIDEuNXJlbTtcbiAgICAuI3skbnN9bWVzc2FnZXNfX3RleHQsXG4gICAgc3BhbiAge1xuICAgICAgICBjb2xvcjogJG1lc3NhZ2VzX2luZm8tY29sb3I7XG4gICAgfVxufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLWVycm9yLFxuLm1lc3NhZ2UuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19lcnJvci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21lc3NhZ2VzL3JlbW92ZS5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19lcnJvci1ib3JkZXI7XG4gICAgLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuICAgIHNwYW4gIHtcbiAgICAgICAgY29sb3I6ICRtZXNzYWdlc19lcnJvci1jb2xvcjtcbiAgICB9XG59XG5cbi4jeyRuc31tZXNzYWdlc19fdGV4dCxcbi5tZXNzYWdlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi4jeyRuc31tZXNzYWdlcyB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmLS1zcGFjZS10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxufVxuXG4uaW5jcmVtZW50LW5vdGlmaWNhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSAxLjJyZW0gIWltcG9ydGFudDtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4uY3MtbWluaWNhcnRfX2Nsb3NlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMS41cmVtO1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZTpmb2N1cywgLmNzLW1pbmljYXJ0X19jbG9zZTphY3RpdmUsIC5jcy1taW5pY2FydF9fY2xvc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogJ1xcZTYxNic7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgZm9udC1mYW1pbHk6ICdpY29ucy1ibGFuay10aGVtZSc7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW1pbmljYXJ0X19jbG9zZS10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLmNzLW1pbmljYXJ0X190aXRsZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1taW5pY2FydF9faXRlbXMtdG90YWwge1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKCc7IH1cbiAgLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbDphZnRlciB7XG4gICAgY29udGVudDogJyknOyB9XG5cbi5jcy1taW5pY2FydF9fZWRpdC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY3MtbWluaWNhcnRfX2VkaXQtbGluayAuY3MtbGlua19faWNvbiB7XG4gICAgcGFkZGluZzogMCAwIDAgMXJlbTsgfVxuXG4uY3MtbWluaWNhcnRfX2NvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1taW5pY2FydF9fY29udGVudCAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IHVuc2V0OyB9XG5cbi5jcy1taW5pY2FydF9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19saXN0LS1zY3JvbGwge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNnJlbSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2xpc3QtLXNjcm9sbCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzOHJlbSk7IH1cbiAgICAgICAgLmlzLXRhYmxldCAuY3MtbWluaWNhcnRfX2xpc3QtLXNjcm9sbCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQzcmVtKTsgfSB9XG5cbi5jcy1taW5pY2FydF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmNzLW1pbmljYXJ0X19hY3Rpb25zLXdyYXBwZXIge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3MtbWluaWNhcnRfX2FjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYWN0aW9uczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY3MtbWluaWNhcnRfX2VtcHR5IHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLW1pbmljYXJ0X19zdWJ0b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uY3MtbWluaWNhcnRfX3N1YnRvdGFsLXByaWNlIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgcGFkZGluZzogMTNweCAxNHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRBOTBFMjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0IHNwYW4sIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5MEUyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRBOTBFMjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFmdGVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0ICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyOm5vdChbZGlzYWJsZWRdKTphZnRlciwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmFmdGVyIHtcbiAgICAgIHRvcDogMnB4OyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ5ODBDMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXRbZGlzYWJsZWRdIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMzsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNkJFQzU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dFtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXRbZGlzYWJsZWRdICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0LXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6aG92ZXIsIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWxbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uY3MtbWluaWNhcnQtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uY3MtbWluaWNhcnRfX2Nhcm91c2VsLXNwaW5uZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC51aS1kaWFsb2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDAuNXJlbTtcbiAgei1pbmRleDogOTk5OTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciAudWktZGlhbG9nIHtcbiAgICAgIHJpZ2h0OiAtMXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnVpLWRpYWxvZyB7XG4gICAgICB0b3A6IGNhbGMoIDEwMCUgLSAoICggMTFyZW0gLSA4LjNyZW0gKSAvIDIgKSk7IH0gfVxuXG4ubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMjFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDMxcmVtO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydCB7XG4gICAgICB3aWR0aDogNDByZW07IH0gfVxuICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdG9wOiAtMC44cmVtO1xuICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogNC41cmVtOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRtaW5pY2FydC1vZmZjYW52YXM6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWw6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIHByb2R1Y3RzX2Nhcm91c2VsLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtd3JhcHBlcjogMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtcGFkZGluZzogMS41cmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLXRpdGxlLXBhZGRpbmc6IDFyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtaXRlbS1wYWRkaW5nOiAxLjVyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3I6IGZhbHNlICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeDogNDByZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyB0b3AgLyBib3R0b21cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0OiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyBsZWZ0IC8gcmlnaHRcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZzogM3JlbSAhZGVmYXVsdDtcbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSBlYXNlLWluICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU6IDExcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfcGFkZGluZzogMnJlbSAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY2xvc2UtYnV0dG9uLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0taGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9pdGVtLXBhZGRpbmc6IDEuNXJlbSAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0X2JveC1zaGFkb3c6IDAgMCAyMXB4IDAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdzogMCAtNXB4IDVweCAtNXB4XG4gICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGU6ICdhZGR0bycgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zOiBub25lICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bWluaWNhcnQge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU2MTYnO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb25zLWJsYW5rLXRoZW1lJztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtdGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0X2l0ZW0taGVhZGxpbmUtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy10aXRsZS1wYWRkaW5nO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1pbmljYXJ0X2l0ZW0tYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbXMtdG90YWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lZGl0LWxpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIC4jeyRuc31saW5rX19pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydF9jb250ZW50LWJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1zY3JvbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzOHJlbSk7XG5cbiAgICAgICAgICAgICAgICAuaXMtdGFibGV0ICYge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDNyZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIC8qIGlQaG9uZSBYIGFuZCBYcyBNYXggKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KVxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS1oZWlnaHQ6IDgxMnB4KVxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpXG4gICAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogaVBob25lIFhSICovXG4gICAgICAgICAgICAgICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA0MTRweClcbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2UtaGVpZ2h0OiA4OTZweClcbiAgICAgICAgICAgICAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVxuICAgICAgICAgICAgICAgIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtaW5pY2FydF9vZmZjYW52YXMtb2Zmc2V0LWlwaG9uZS1maXh9KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9pdGVtLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRtaW5pY2FydF9pdGVtLWJvcmRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtaXRlbS1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXBhZGRpbmc7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2VtcHR5IHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zdWJ0b3RhbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJ0b3RhbC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tY2hlY2tvdXQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTRweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi12aWV3Y2FydCB7XG4gICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSwge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWNhcm91c2VsIHtcbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1zcGFjaW5nIDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1ib3JkZXI7XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbiA9PSAnbGVmdCcge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tcG9zaXRpb24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgfVxuXG4gICAgJi1vZmZjYW52YXNfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXdyYXBwZXI7XG4gICAgfVxufVxuXG5AaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyBhbmQgJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbCB7XG4gICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgLiN7JG5zfW1pbmljYXJ0X19jYXJvdXNlbCB7XG4gICAgICAgICRyb290OiAmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXRyYW5zaXRpb247XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LXdyYXBwZXItLXJlYWR5ICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3skbWluaWNhcnRfd2lkdGh9ICsgI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCN7JG1pbmljYXJ0X3dpZHRofSArICgyICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSkpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjByZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIEBhdC1yb290IC5kcmF3ZXItLXZpc2libGUgJiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAYXQtcm9vdCAuaWUxMSAuZHJhd2VyLS12aXNpYmxlICYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYygjeyRtaW5pY2FydF93aWR0aH0gKyAoMiAqICN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nfSkpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCN7JG1pbmljYXJ0X3dpZHRofSArICg0ICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbiA9PSAndG9wJyB7XG4gICAgICAgICAgICAgICAgdG9wOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uID09ICdib3R0b20nIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9aGVhZGxpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zcGlubmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwaW5uZXItc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1sb2FkaW5nICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9cHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufSBAZWxzZSB7XG4gICAgLiN7JG5zfW1pbmljYXJ0X19jYXJvdXNlbCB7XG4gICAgICAgICYtc3Bpbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyAhPSB0cnVlIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wID4gJGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAlIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC1kZXNrdG9wfSAtICN7JGdsb2JhbF9oZWFkZXItaGVpZ2h0LXRhYmxldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgLyAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1taW5pY2FydCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtaW5pY2FydF9ib3gtc2hhZG93O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDMxcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydF93aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjhyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1taW5pY2FydC1wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2ltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vdmVydmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiA3MCU7IH0gfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOnZpc2l0ZWQsIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlLWxhYmVsLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IC0wLjRyZW07XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwLS1xdHkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy13cmFwcGVyICsgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAtLXF0eSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWVfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWVfX3ZhbHVlIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjJyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdCAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgOXJlbTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDRyZW07XG4gICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24sIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb246aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICosXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb246aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqLFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZTpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiB7XG4gICAgZmlsbDogIzAwMDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqIHtcbiAgICBmaWxsOiAjMDAwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24tbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRtaW5pY2FydC1vZmZjYW52YXM6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy12YWx1ZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZTogZmFsc2UgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy10aXRsZS1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplOiAycmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9xdHktZW5hYmxlOiB0cnVlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDogM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zOiAnb25seS1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfW1pbmljYXJ0LXByb2R1Y3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19icmFuZC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50O1xuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19uYW1lLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1wcmljaW5nIHtcbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2UtbGFiZWwsXG4gICAgJl9fb3B0aW9ucy1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnMtdGl0bGUtY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lXG4gICAgICAgICAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zX3RvZ2dsZS1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJi0tcXR5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX29wdGlvbnMtd3JhcHBlciArICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdmFsdWUge1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy12YWx1ZS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJl9fdmFsdWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19hY3Rpb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgIEBpZiAoJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWVuYWJsZSkge1xuICAgICAgICAmX19xdHksXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDAgOXJlbTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktaW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9xdHktaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtcHJvZHVjdF9xdHktaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1idXR0b24tc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1idXR0b24taWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAmX19xdHksXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24sXG4gICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX29wdGlvbnMtdGl0bGUtc3ZnLFxuICAgICAgICAgICAgI3skcm9vdH1fX2FjdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWljb24sXG4gICAgJl9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAqIHtcbiAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAmX19vcHRpb25zLXRpdGxlIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtIDJyZW07XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2NlbGwge1xuICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX190b3RhbC1sZWZ0LXRleHQgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX190b3RhbC1mdWxmaWxsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24tc3VjY2Vzcy5zdmdcIikgMCA1MCUgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDJyZW07IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwge1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6ICNBOUM1NDY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwtLXN0YXJ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItbGFiZWwtLWVuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAwLjRyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMGIwYjA7XG4gIGJvcmRlci1yYWRpdXM6IDQuMnB4OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXByb2dyZXNzLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItcHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiAjQTlDNTQ2O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNTVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2ljb24ge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDMuNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW46IDAgMCAwIDIuNXJlbTtcbiAgZmlsbDogIzZFNkU2RTtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjNzOyB9XG4gIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fYmFyLXdyYXBwZXItLWZyZWUtc2hpcHBpbmctYWN0aXZlIC5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9faWNvbiB7XG4gICAgZmlsbDogI0E5QzU0NjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wYWRkaW5nOiAxLjVyZW0gMnJlbSAycmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3NlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXVybDogJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXN1Y2Nlc3Muc3ZnJyAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi1zaXplOiAycmVtICFkZWZhdWx0OyAvLyBiYWNrZ3JvdW5kLXNpemUgZm9ybWF0ICgycmVtIDFyZW0gb3IgMnJlbSA9PT0gMnJlbSAycmVtKVxuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWNvbG9yOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wYWRkaW5nOiAwLjRyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9zaWx2ZXItY2hhbGljZSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAqIDEuNCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy13cmFwcGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLXRyYW5zaXRpb246IHdpZHRoIDAuNTVzXG4gICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMCAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24td2lkdGg6IDMuNHJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLW1hcmdpbjogMCAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3ItLWZyZWUtc2hpcHBpbmctYXBwbGllZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9ZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Ige1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9zZXBhcmF0b3I7XG4gICAgICAgIHBhZGRpbmc6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wYWRkaW5nO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICBmb250LXNpemU6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mb250LXNpemU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX190b3RhbC1sZWZ0LXRleHQge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3RhbC1mdWxmaWxsZWQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9mdWxmaWxsZWQtaWNvbi11cmwpIDAgNTAlXG4gICAgICAgICAgICBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXNpemU7XG4gICAgfVxuXG4gICAgJl9fYmFyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2Jhci1sYWJlbCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBjb2xvcjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJi0tc3RhcnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbmQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlcjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmX19iYXItcHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy13cmFwcGVyLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmX19iYXItcHJvZ3Jlc3Mge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy10cmFuc2l0aW9uO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2lkdGg6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1tYXJnaW47XG4gICAgICAgIGZpbGw6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZTtcblxuICAgICAgICAjeyRyb290fV9fYmFyLXdyYXBwZXItLWZyZWUtc2hpcHBpbmctYWN0aXZlICYge1xuICAgICAgICAgICAgZmlsbDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3ItLWZyZWUtc2hpcHBpbmctYXBwbGllZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4ubW9kYWwtc2xpZGUuY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1wb3B1cC5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbS5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgYSxcbi5tb2RhbC1wb3B1cCBhLFxuLm1vZGFsLWN1c3RvbSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaW5uZXItd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWNvbnRlbnQsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWhlYWRlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiA2NXB4OyB9XG5cbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAxLjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC5pZTExIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLCAuaWUxMVxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSwgLmllMTFcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDsgfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Ugc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeS5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0ge1xuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCxcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwsXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwsXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCxcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwsXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LmxhcmdlLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LmxhcmdlLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5sYXJnZSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LmxhcmdlLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwsXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwsXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGRbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLXRpdGxlLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC10aXRsZSxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcFtjbGFzc10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlby1wbGF5ZXJfX21vZGFsKSAubW9kYWwtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzM3JlbSk7IH1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5tb2RhbC1wb3B1cCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAubW9kYWwtc2xpZGUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmZhbmN5Ym94LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7IH1cblxuLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pZnJhbWUuZmFuY3lib3gtb3BlbmVkIHtcbiAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gIHdpZHRoOiA4NXZ3ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlmcmFtZS5mYW5jeWJveC1vcGVuZWQge1xuICAgICAgd2lkdGg6IDk1dncgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDIuNXZ3ICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlubGluZSB7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIHdpZHRoOiA5NXZ3ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlubGluZSB7XG4gICAgICBsZWZ0OiAyLjV2dyAhaW1wb3J0YW50OyB9IH1cbiAgLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pbmxpbmUgLmZhbmN5Ym94LXNraW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pbmxpbmUgLmhlYWRlcixcbiAgLmZhbmN5Ym94LWRlc2t0b3AuZmFuY3lib3gtdHlwZS1pbmxpbmUgLmNhcnQtaW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtZGVza3RvcCAuZmFuY3lib3gtaW5uZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiA3MzVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuZmFuY3lib3gtZGVza3RvcCAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgcGFkZGluZzogNDBweCAwIDBweDsgfSB9XG5cbi5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxlZnQ6IDMxcHg7XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAyM3B4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlIHtcbiAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICB0b3A6IDEycHg7IH0gfVxuICAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2U6YmVmb3JlLCAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2U6YWZ0ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjsgfVxuICAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnWCc7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnQ2xvc2UnOyB9XG5cbiNic3NfYWpheGNhcnRfcG9wdXAgLnByb2R1Y3QtaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDMxMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIC5tZXNzYWdlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogMTFweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydC5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydCAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDpob3Zlcjpub3QoW2Rpc2FibGVkXSksICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmhvdmVyLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmZvY3VzLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzNFM0UzRSAhaW1wb3J0YW50OyB9XG5cbiNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgYmFja2dyb3VuZDogI0ZGNDYwNCAhaW1wb3J0YW50OyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZS5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUgKiwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZVtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWVbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTpob3ZlciwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTpmb2N1cywgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNGRjQ2MDQgIWltcG9ydGFudDsgfVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgLmNvdW50ZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcgI2FqYXgtZ290byB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uYWpheGNhcnQtaW5kZXgtdmlldyAuYnNzLW5vdGljZSB7XG4gIHBhZGRpbmc6IDAgMzBweDsgfVxuXG4uYWpheGNhcnQtaW5kZXgtdmlldyAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC10b3Age1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWpheGNhcnQtaW5kZXgtdmlldyAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC10b3Age1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmNzLXBhZ2UtcHJvZHVjdF9fZ2FsbGVyeSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ5LjUlKTsgfSB9XG5cbi5hamF4Y2FydC1pbmRleC12aWV3IC5jcy1idXlib3hfX3NlY3Rpb24sXG4uYWpheGNhcnQtaW5kZXgtdmlldyAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucG9wdXAtYXV0aGVudGljYXRpb24gLm1vZGFsLWlubmVyLXdyYXAge1xuICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG5cbi5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9uLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAyMnB4IDMwcHggMCAwO1xuICBwYWRkaW5nOiAxcHggMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsgfVxuICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdYIENMT1NFJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzU3NTc1NztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4ucG9wdXAtYXV0aGVudGljYXRpb24gLmJsb2NrLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWluLXdpZHRoOiAxNDVweDsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4sIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbiAqLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW5bZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW5bZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAsXG4uZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlLFxuICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUsXG4gIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC10aXRsZSxcbiAgICAgIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC10aXRsZSxcbiAgICAgIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7IH0gfVxuICAuY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMzdweCA0MXB4IDAgMDtcbiAgICBwYWRkaW5nOiAxcHggMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4gICAgICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAgICAgLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDE1cHggMCAwOyB9IH1cbiAgICAuY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2U6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdYIENMT1NFJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAsXG4gIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4uYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlIHtcbiAgbWFyZ2luOiAyMnB4IDQxcHggMCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZSxcbiAgICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgbWFyZ2luOiAyMnB4IDE1cHggMCAwOyB9IH1cblxuLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIHdpZHRoOiA5NiU7XG4gIG1heC13aWR0aDogNjQwcHg7IH1cblxuLm1vZGFsX2hpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsX2hpZGRlbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kbW9kYWxfdGl0bGUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTMgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG4kbW9kYWxfaW5zaWRlLWJvcmRlcnM6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRtb2RhbF9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbW9kYWxfc2xpZGUtbW9iaWxlLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRtb2RhbF9ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJG1vZGFsX2JvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kbW9kYWwtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJG1vZGFsX3RleHQtZm9udC1zaXplOiAkZm9udC1zaXplX3BhcmFncmFwaCAhZGVmYXVsdDtcbiRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbi5tb2RhbC1zbGlkZSxcbi5tb2RhbC1wb3B1cCxcbi5tb2RhbC1jdXN0b20ge1xuICAgICYuY29uZmlybSB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1vZGFsX2JhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRtb2RhbF9ib3gtc2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kYWxfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAkbW9kYWwtYm9yZGVyO1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRtb2RhbF90ZXh0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiA2NXB4O1xuICAgIH1cblxuICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAvLyBJRTExIGN1dHMgYmFja2dyb3VuZCB3aGVuIGluIHJlbSB1bml0c1xuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBib3JkZXItdG9wOiAkbW9kYWxfaW5zaWRlLWJvcmRlcnM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXByaW1hcnksXG4gICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTdHlsZSBmb3IgY2hlY2tvdXQgbW9kYWxzIGhhdmUgdmVyeSBoaWdoIHNwZWNpZmljaXR5IGluIG1hZ2VudG9cbiAgICAgICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3ByaW1hcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRtb2RhbF90aXRsZS1mb250LXNpemUpO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbW9kYWxfaW5zaWRlLWJvcmRlcnM7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSB7XG4gICAgLm1vZGFsLWlubmVyLXdyYXBbY2xhc3NdIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWxfc2xpZGUtbW9iaWxlLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1zbGlkZSB7XG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlby1wbGF5ZXJfX21vZGFsKSAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMzcmVtKTtcbn1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IHtcbiAgICAubW9kYWwtcG9wdXAge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWwtc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLy8gcG9wdXAgYWpheCBhZGQgdG8gY2FydFxuLmZhbmN5Ym94LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xufVxuLmZhbmN5Ym94LWRlc2t0b3Age1xuICAgICYuZmFuY3lib3gtdHlwZS1pZnJhbWUuZmFuY3lib3gtb3BlbmVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgICAgIHdpZHRoOiA4NXZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogOTV2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMi41dncgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZmFuY3lib3gtdHlwZS1pbmxpbmUge1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICB3aWR0aDogOTV2dyAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBsZWZ0OiAyLjV2dyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5mYW5jeWJveC1za2luIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIsXG4gICAgICAgIC5jYXJ0LWluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYW5jeWJveC1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDczNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmFuY3lib3gtc2tpbiB7XG4gICAgLmZhbmN5Ym94LWNsb3Nle1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBsZWZ0OiAzMXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JsYWNrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1gnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnQ2xvc2UnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIHtcbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgfVxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgLmJ0bi12aWV3Y2FydCB7XG4gICAgICAgIGJ1dHRvbi52aWV3Y2FydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogbnVsbCxcbiAgICAgICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1czogMjVweFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ibGFjayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYm9keS10ZXh0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1jb250aW51ZSB7XG4gICAgICAgIGJ1dHRvbi5jb250aW51ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgJHRleHRfdHJhbnNmb3JtOiB1cHBlcmNhc2UsXG4gICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDI1cHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG91dGRvb3JfcHJpbWFyeV9kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3VudGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcge1xuICAgICNhamF4LWdvdG8ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJzcy1ub3RpY2Uge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIHtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2dhbGxlcnkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDkuNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbixcbiAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMjJweCAzMHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMXB4IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1ggQ0xPU0UnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIC5hY3Rpb24tbG9naW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6IGZhbHNlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAsXG4uYWdyZWVtZW50cy1tb2RhbCxcbi5nb29nbGVfcG9wdXAge1xuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICAgICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMzdweCA0MXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweCAycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdYIENMT1NFJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFncmVlbWVudHMtbW9kYWwsXG4uZ29vZ2xlX3BvcHVwIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjJweCA0MXB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjJweCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdvb2dsZV9wb3B1cCB7XG4gICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIH1cbn1cblxuLm1vZGFsX2hpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtcG9wdXAge1xuICAgIC5tb2RhbF9oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiA2cmVtIDNyZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA0LjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDEuNjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fdGV4dCB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jdGEge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24ubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbiAqLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24taWNvbiB7XG4gIG1heC13aWR0aDogMWVtO1xuICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gIHotaW5kZXg6IDI7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcmlnaHQ6IDFlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiR0ZWFzZXJfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHRlYXNlcl9idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLiN7JG5zfW5hdmlnYXRpb24tdGVhc2VyIHtcbiAgICAmX19maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA2cmVtIDNyZW07XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4zcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkdGVhc2VyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdGVhc2VyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJHRlYXNlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRlYXNlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICR0ZWFzZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICR0ZWFzZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBVc2luZyBwc3VlZG8gZWxlbWVudHMgdG8gbWFpbnRhaW4gYW4gZWxlbWVudHMgYXNwZWN0IHJhdGlvLCBldmVuIGFzIGl0IHNjYWxlc1xuICogSXQncyB1c2luZyBvbmx5IGZvciBJRTExIGFuZCBFZGdlICh2ZXJzaW9uIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQpIGJyb3dzZXJzXG4gKiBGb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQsIHdlIGFyZSB1c2luZyBtaXhpbnMgY29udGFpbiBgcmVzZXRgIGluIG1peGluIG5hbWVcbiAqIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWl4aW5zIChwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9tYWludGFpbi1hc3BlY3QtcmF0aW8tbWl4aW4vXG4gKiBAcGFyYW0ge251bWJlcn0gJHdpZHRoOiB3aWR0aCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnRDbGFzczogY2xhc3Mgb2YgdGhlIGRpcmVjdCBjaGlsZCBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseTtcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGF1dG9wb3NpdGlvbjogdGVsbHMgaWYgaXRlbSBzaGFsbCB0YWtlIDEwMCUgb2YgcGFyZW50IHNpemUgb3IgaWYgaXQgY2FuIGJlIHdpZGVyL2hpZ2hlciBpZiBuZWVkZWQ7XG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cblxuLmNzLWNvbnRhaW5lcl9fbmF2aWdhdGlvbi1pbm5lciB7XG4gIG1hcmdpbjogMTBweCBhdXRvIDA7IH1cblxuLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbWFpbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8yIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1oaWRkZW4gKyAuY3MtbmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbjpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM1NzU3NTc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluOmxhc3Qtb2YtdHlwZSAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1tYWluOnZpc2l0ZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW46aG92ZXIgPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgLyogSUUgMTEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbGV2ZWxfMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgLyogSUUgMTEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiA5cHggNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgTmFycm93XCI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuOXB4OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluaywgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQ6aG92ZXIsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLW1haW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41NWVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMSwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzE6aG92ZXIsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzI6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xOnZpc2l0ZWQsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzE6dmlzaXRlZDpob3ZlciwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMTpmb2N1cywgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMiwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMjp2aXNpdGVkLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yOnZpc2l0ZWQ6aG92ZXIsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLXdpdGgtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstaWNvbi13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIG1heC1oZWlnaHQ6IDEuOHJlbTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnkgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstcHJvZHVjdHMtcXR5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLXByb2R1Y3RzLXF0eTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbiAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbiB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuID4gLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjEyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjVlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0ID4gdWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCA+IHVsIGxpOmhvdmVyID4gdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDIxNXB4OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0LS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgc3ZnIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgdWwgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgdWwgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgei1pbmRleDogMTAwMTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWF4LXdpZHRoOiAyMTVweDsgfVxuICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCB1bCB1bCBsaSB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH0gfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8yIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3RlYXNlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX190ZWFzZXItLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3RzIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgbWluLXdpZHRoOiAyNHJlbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3RzLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgcGFkZGluZzogMS4xZW0gMS4wNWVtIDEuNTVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0cy1saXN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Q6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzAlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDNyZW0sIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMCwgMC45NywgMC4wNSwgMC45OSk7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19vdmVybGF5LS12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLnBhZ2UtcHJpbnQgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3QgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvOyB9IH1cblxuLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRuYXZpZ2F0aW9uX2ZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb25fb3ZlcmxheS1zaG93OiBmYWxzZSAhZGVmYXVsdDtcbi8vIEJveCBzaGFkb3cgZWZmZWN0IGFwcGxpZWQgZm9yIHRoZSBmbHlvdXQuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMTUpICFkZWZhdWx0O1xuLy8gRmx5b3V0IGJhY2tncm91bmQgY29sb3IuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4vLyBDb2xvciBvZiB0aGUgbGluay5cbiRuYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbi8vIENvbG9yIG9mIHRoZSBsaW5rIGluIHRoZSBmbHlvdXQgb24gaG92ZXIuXG4kbmF2aWdhdGlvbl9saW5rLWNvbG9yLWhvdmVyOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saW5rLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbi8vIEJvdHRvbSBib3JkZXIgY29uZmlndXJhdGlvbiBmb3IgZmx5b3V0IGNhdGVnb3J5IGxpbmtzLlxuJG5hdmlnYXRpb25fbGluay1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uX2xpc3RzLW1hcmstcGFyZW50LW9uLWhvdmVyOiB0cnVlICFkZWZhdWx0O1xuXG4kc3VibmF2aWdhdGlvbl9saW5rLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kc3VibmF2aWdhdGlvbl9saW5rLWJhY2tncm91bmQtaG92ZXI6ICRzaWRlYmFyX19ncmV5ICFkZWZhdWx0O1xuXG4uY3MtY29udGFpbmVyIHtcbiAgICAmLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbi1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgICAuI3skbnN9bmF2aWdhdGlvbiB7XG4gICAgICAgICRyb290OiAmO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmb250LXNpemU6ICRuYXZpZ2F0aW9uX2ZvbnQtc2l6ZTtcblxuICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgICAgICZfMSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfMiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICYgKyAuI3skbnN9bmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJi0tbWFpbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmlnYXRpb25fbGluay1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgLy8gUHJldmVudHMgZWxlbWVudCBicmVha2luZyBiZWNhdXNlIG9mIGNvbHVtbiBsYXlvdXQuXG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBJRSAxMSAqL1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJldmVudHMgZWxlbWVudCBicmVha2luZyBiZWNhdXNlIG9mIGNvbHVtbiBsYXlvdXQuXG4gICAgICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IC8qIElFIDExICovXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjlweDtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgICAgICY6dmlzaXRlZDpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2aWdhdGlvbl9saW5rLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41NWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAgICAgJl8xLFxuICAgICAgICAgICAgICAgICZfMiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXZpZ2F0aW9uX2ZseW91dC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc3VibmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdmlnYXRpb25fbGluay1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgICAgICAgICAmOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzdWJuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmXzIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS13aXRoLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pY29uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMS44cmVtO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2xpbmstLWNhdGVnb3J5ICYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1wcm9kdWN0cy1xdHkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9TdHlsaW5nIGZvciBjYXRlZ29yaWVzIGxldmVsXzEgd2l0aCBubyBzdWJjYXRlZ29yaWVzXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbiA+ICN7JHJvb3R9X19saW5rLS1sZXZlbF8xIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMC45ZW0gMS41ZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZseW91dCB7XG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbGk6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmx5b3V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMTsgLy8gTWFrZSBzdXJlIGZseW91dHMgY292ZXIgZ2FsbGVyeSBuYXYuXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuXG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzdWJuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAxOyAvLyBNYWtlIHN1cmUgZmx5b3V0cyBjb3ZlciBnYWxsZXJ5IG5hdi5cbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJG5hdmlnYXRpb25fZmx5b3V0LWJveC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjE1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saXN0LS1sZXZlbF8yIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZWFzZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9aW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcm9kdWN0cyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI0cmVtO1xuXG4gICAgICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2aWdhdGlvbl9saW5rLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjFlbSAxLjA1ZW0gMS41NWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKFxuICAgICAgICAgICAgICAgICR3aWR0aDogJHRpbGVfYXNwZWN0LXJhdGlvLXdpZHRoLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6ICR0aWxlX2FzcGVjdC1yYXRpby1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzcmVtLCAwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAuOTcsIDAuMDUsIDAuOTkpO1xuXG4gICAgICAgICAgICBAaWYgJG5hdmlnYXRpb25fb3ZlcmxheS1zaG93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAgICAgJl9fcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLXJlc2V0KFxuICAgICAgICAgICAgICAgICAgICAkY2hpbGRDbGFzczogI3skbnN9cHJvZHVjdC10aWxlLFxuICAgICAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLW5ld3NsZXR0ZXIge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogMzRyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogODYlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2ZpZWxkIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2ZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19pbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9faW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAuY3MtbmV3c2xldHRlcl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDRyZW07IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24gKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24tbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGVmdDogMWVtO1xuICAgIHdpZHRoOiAwLjhlbTtcbiAgICBoZWlnaHQ6IDAuOGVtO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubmV3c2xldHRlci1sb2NrX19pY29uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xvY2syNEAxeC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDdweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5uZXdzbGV0dGVyLWxvY2tfX2ljb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGlucHV0X3BhZGRpbmc6IDAuNzE1ZW0gMWVtICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuJGlucHV0X2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX21hcmdpbjogMCAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX3BhZGRpbmc6IDAgMS41cmVtICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9mb3JtLW1heC13aWR0aDogMzRyZW0gIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9mb3JtLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zOiAnbGVmdCcgIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoOiAwLjhlbSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDogMC44ZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW46ICRuZXdzbGV0dGVyX21hcmdpbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG5ld3NsZXR0ZXJfZm9ybS1tYXgtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuXG4gICAgICAgICYuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiAkbmV3c2xldHRlcl9mb3JtLWhlaWdodDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkbmV3c2xldHRlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLm5ld3NsZXR0ZXItbG9ja19faWNvbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9sb2NrMjRAMXguc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA3cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMS41cmVtO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTphY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmZvY3VzLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTpob3ZlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0OyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6YWN0aXZlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmZvY3VzLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0OyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24sIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZW51LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMC41cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgICBib3R0b206IDJyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvci1hY3RpdmU6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9hbmltYXRpb24tZGlyZWN0aW9uOiAnbGVmdCcgIWRlZmF1bHQ7IC8vICdsZWZ0JyBvciAncmlnaHQnXG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICBAaWYgKCRvZmZjYW52YXMtdG9nZ2xlX2FuaW1hdGlvbi1kaXJlY3Rpb24gPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICYsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVudS5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgI3skcm9vdH0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5uYXYtbG9nbyB7XG4gICAgYmFja2dyb3VuZDogIzNFM0UzRTtcbiAgICBwYWRkaW5nOiAxN3B4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5uYXYtbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMDUlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8xIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluazpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4pLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgYTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4pLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEgYTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4pLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzIgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiksIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSBhOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiksIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMiBhOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybikge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtICsgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSArIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtICsgbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSArIGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtOmxhc3Qtb2YtdHlwZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bGFzdC1vZi10eXBlOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLS13aXRoLWljb24gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmssIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIGEge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaywgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgYSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluazpob3ZlciwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjp2aXNpdGVkLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0LCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOmhvdmVyLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOmhvdmVyIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0OmhvdmVyIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAyLjNyZW07XG4gICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICByaWdodDogMTVweDsgfVxuICAgICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgaGVpZ2h0OiAwLjhyZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXBhcmVudCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICByaWdodDogMTVweDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgbGVmdDogMTVweDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICByaWdodDogMTVweDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIC01MCUsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCA1MCUsIDApOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMTVweDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLmFjdGl2ZSA+IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaywgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIC5hY3RpdmUgPiBhLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2NhdGVnb3J5LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWF4LWhlaWdodDogMnJlbTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3Byb2R1Y3QtcXR5IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19wcm9kdWN0LXF0eTpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19wcm9kdWN0LXF0eTphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQ6ICRjb2xvcl9saWdodC1ncmF5ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1iYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjogMXB4ICRjb2xvcl9hbHRvIHNvbGlkICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstYWN0aXZlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2ZzogdHJ1ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoOiAwLjhyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQ6IDAuMnJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yICFkZWZhdWx0O1xuLy8gQmVsb3cgbmF2aWdhdGlvbl9pY29uIHNldHRpbmdzIGFyZSB1c2FibGUgb25seSBpZiB5b3UgdXNlIHBzZXVkb2ljb25cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1uZXh0OiAncmlnaHQnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tZGVmYXVsdC0tcHJldjogJ2xlZnQnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0OiAwICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvcjtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX3Byb2R1Y3QtcXR5LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31vZmZjYW52YXMtbmF2aWdhdGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2JhY2tncm91bmQ7XG5cbiAgICAubmF2LWxvZ28ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYm9keS10ZXh0O1xuICAgICAgICBwYWRkaW5nOiAxN3B4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTA1JTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzO1xuXG4gICAgICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pe1xuICAgICAgICAgICAgQGV4dGVuZCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWxldmVsXzEsXG4gICAgICAgICYtLWxldmVsXzIge1xuICAgICAgICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybikge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoLWljb24ge1xuICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZztcbiAgICAgICAgZm9udC1zaXplOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXNpemU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3ItLWhvdmVyO1xuXG4gICAgICAgICAgICBAaWYgbm90KCRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNpZ24taW4sXG4gICAgICAgICYtLXNpZ24tb3V0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvci0taG92ZXI7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBhcmVudCxcbiAgICAgICAgJi0tcmV0dXJuIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBhcmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmV0dXJuIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnKSB7XG4gICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVkOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1uZXh0LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVkOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1wcmV2LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiBhdXRvXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3RpdmUge1xuICAgICAgICA+ICN7JHJvb3R9X19saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXRlZ29yeS1pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtcXR5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9wcm9kdWN0LXF0eS1jb2xvcjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX2RyYXdlciwgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIDFtcyAwLjNzO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1vZmZjYW52YXMgLm92ZXJsYXktLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB3aWR0aDogNzIlO1xuICAgIG1heC13aWR0aDogMjgwcHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1zaWRlX2xlZnQgLmNzLW9mZmNhbnZhc19fZHJhd2VyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy0tc2lkZV9yaWdodCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzIC5kcmF3ZXItLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDsgfVxuICAuY3Mtb2ZmY2FudmFzX19zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDIwJTtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG9mZmNhbnZhc190b3Atb2Zmc2V0LW1vYmlsZTogMCAhZGVmYXVsdDsgLy8gTW92ZSBiZWxvdyB0aGUgbmF2aWdhdGlvbiBvbiBtb2JpbGUuXG4kb2ZmY2FudmFzX3RvcC1vZmZzZXQtdGFibGV0OiAwICFkZWZhdWx0OyAvLyBNb3ZlIGJlbG93IHRoZSBuYXZpZ2F0aW9uIG9uIHRhYmxldC5cbiRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC43KSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19kcmF3ZXItYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfc3Bpbm5lci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAmX19kcmF3ZXIsXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAkb2ZmY2FudmFzX3RvcC1vZmZzZXQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRvcDogJG9mZmNhbnZhc190b3Atb2Zmc2V0LXRhYmxldDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbWluaS1jYXJ0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIFNldHRpbmcgMW1zIGJlY2F1c2UgMCBkb2Vzbid0IHNlZW0gdG8gd29yayBhbmQgd2UgbmVlZCBzZWFtbGVzcyB0cmFuc2l0aW9uIGZvciBzY2FsZSBoZXJlLlxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFtcyAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhc19vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZHJhd2VyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXNfZHJhd2VyLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcblxuICAgICAgICAjeyRyb290fS0tc2lkZV9sZWZ0ICYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc2lkZV9yaWdodCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJhd2VyIHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW07XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgcGljdHVyZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciBwaWN0dXJlLFxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLXdyYXBwZXIge1xuICAgIGhlaWdodDogMzUxcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDsgfSB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi1oZWlnaHQ6IDM1MXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7IH0gfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyID4gcGljdHVyZSxcbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXIgPiBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1kb3duQDF4LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMjAwcHggIWltcG9ydGFudDsgfSB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDRyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLnBhZ2UtdGl0bGVfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5wYWdlLXRpdGxlX19zcGFuIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmNtcy1wYWdlLXZpZXcgLnBhZ2UtdGl0bGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYWdlLXRpdGxlX2ZvbnQtc2l6ZTogNHJlbSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kcGFnZS10aXRsZV9zcGFuLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwaWN0dXJlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHBpY3R1cmUsXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNtcy1wYWdlX190ZWFzZXItd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMzUxcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1MXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY21zLXBhZ2VfX3RlYXNlciA+IHBpY3R1cmUsXG4gICAgLmNtcy1wYWdlX190ZWFzZXIgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmNtcy1wYWdlX190ZWFzZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LWRvd25AMXguc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJHBhZ2UtdGl0bGVfZm9udC1zaXplKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHBhZ2UtdGl0bGVfdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdlLXRpdGxlX2ZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkcGFnZS10aXRsZV9zcGFuLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgJl9fc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcGFnZS10aXRsZV9zcGFuLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJHBhZ2UtdGl0bGVfc3Bhbi1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHBhZ2UtdGl0bGVfc3Bhbi1wYWRkaW5nO1xuICAgIH1cbn1cblxuLmNtcy1wYWdlLXZpZXcge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuXG5cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uZ3JpZC1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmdyaWQtY29udGFpbmVyLmxheW91dC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmdyaWQtY29udGFpbmVyIC5jb2wtMSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4OiAxIDEgY2FsYyggMTAlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoIDEwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciAuY29sLTIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgIHdpZHRoOiBjYWxjKCAyMCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZ3JpZC1jb250YWluZXIgLmNvbC0zIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXg6IDEgMSBjYWxjKCAzMCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyggMzAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmdyaWQtY29udGFpbmVyIC5jb2wtNCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4OiAxIDEgY2FsYyggNDAlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoIDQwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciAuY29sLTUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZ3JpZC1jb250YWluZXIgLmNvbC02IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXg6IDEgMSBjYWxjKCA2MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyggNjAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmdyaWQtY29udGFpbmVyIC5jb2wtNyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4OiAxIDEgY2FsYyggNzAlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoIDcwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciAuY29sLTgge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDgwJSAtIDIwcHgpO1xuICAgIHdpZHRoOiBjYWxjKCA4MCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZ3JpZC1jb250YWluZXIgLmNvbC05IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXg6IDEgMSBjYWxjKCA5MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyggOTAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmdyaWQtY29udGFpbmVyIC5jb2wtMTAge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDEwMCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyggMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtMSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDEwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDEwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtMiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtMyB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDMwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDMwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtNCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDQwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDQwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtNSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtNiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDYwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDYwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtNyB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDcwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDcwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtOCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDgwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDgwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtOSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleDogMSAxIGNhbGMoIDkwJSAtIDIwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoIDkwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmdyaWQtY29udGFpbmVyID4gLmxnX19jb2wtMTAge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXg6IDEgMSBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDEwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDMwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDQwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTYge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDYwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTcge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDcwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTgge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDgwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMSAxIGNhbGMoIDkwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ncmlkLWNvbnRhaW5lciA+IC5tZF9fY29sLTEwIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXg6IDEgMSBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC0xIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDEwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC0yIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC0zIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDMwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC00IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDQwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC01IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC02IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDYwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC03IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDcwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC04IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDgwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC05IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoIDkwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuZ3JpZC1jb250YWluZXIgPiAuc21fX2NvbC0xMCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXg6IDEgMSBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4uY29udGVudC1zaG9ydCB7XG4gIG1heC13aWR0aDogODYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnYtYWxpZ24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubmFycm93LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDg2MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMjBweCBhdXRvOyB9XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTByZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uY3MtcGFnZS1ib3R0b20ge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnBhZ2UtcHJpbnQgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2Uge1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2UtLWNpcmNsZSB7XG4gICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgaGVpZ2h0OiA0LjdyZW07XG4gICAgICBtaW4td2lkdGg6IDQuN3JlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuN3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX3RleHQsXG4gIC5jcy1wYWdlLWJvdHRvbSAuY29weXJpZ2h0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX190ZXh0LS1zbWFsbCxcbiAgICAuY3MtcGFnZS1ib3R0b20gLmNvcHlyaWdodC0tc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gICAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxNyU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8gLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZywgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZzpiZWZvcmUsIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQ6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5jcy1wYWdlLWJvdHRvbV9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0taGVybWVzIHtcbiAgICAgIHdpZHRoOiAxMi4ycmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1kaGwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgIG1pbi13aWR0aDogOC42cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1wYXlwYWwge1xuICAgICAgd2lkdGg6IDYuMnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tdmlzYSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgbWluLXdpZHRoOiA1LjVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLW1hc3RlcmNhcmQge1xuICAgICAgd2lkdGg6IDMuM3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0ta2xhcm5hLXNvZm9ydCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWtsYXJuYSB7XG4gICAgICB3aWR0aDogN3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZ2xzIHtcbiAgICAgIHdpZHRoOiA1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1naXJvcGF5IHtcbiAgICAgIHdpZHRoOiA0LjhyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWVjIHtcbiAgICAgIHdpZHRoOiAxLjhyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXBheWRpcmVrdCB7XG4gICAgICB3aWR0aDogNnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tbGFzdHNjaHJpZnQge1xuICAgICAgd2lkdGg6IDYuMTVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXZvcmthc3NlIHtcbiAgICAgIHdpZHRoOiA4LjNyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXJlY2hudW5nIHtcbiAgICAgIHdpZHRoOiA2LjE1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvICsgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtYm90dG9tLFxuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jb250ZW50LXJvdyAuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY29udGVudC1yb3cgLmNvbnRhaW5lci5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmNvbnRlbnQtcm93IC5jb250YWluZXIuY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4iLCJAaW1wb3J0ICcuL21peGluJztcbiRkZWZhdWx0LWdyaWQtY29sdW1uczogMTA7XG4kZGVmYXVsdC1ncmlkLWd1dHRlcjogMjBweDtcblxuLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkKCRndXR0ZXI6ICRkZWZhdWx0LWdyaWQtZ3V0dGVyKTtcblxuICAgICYubGF5b3V0LWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGVmYXVsdC1ncmlkLWNvbHVtbnMge1xuICAgICAgICAuY29sLSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6ICRpLCAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRkZWZhdWx0LWdyaWQtZ3V0dGVyLCAkd2lkdGg6IHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGRlZmF1bHQtZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgID4gLmxnX19jb2wtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6ICRpLCAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRkZWZhdWx0LWdyaWQtZ3V0dGVyLCAkd2lkdGg6IHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0JywgJz5waG9uZUxnJykge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRkZWZhdWx0LWdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICA+IC5tZF9fY29sLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAkaSwgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZGVmYXVsdC1ncmlkLWd1dHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGVmYXVsdC1ncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgPiAuc21fX2NvbC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogJGksICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucywgJGd1dHRlcjogJGRlZmF1bHQtZ3JpZC1ndXR0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGVudC1zaG9ydCB7XG4gICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi52LWFsaWduIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5uYXJyb3ctY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4NjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGbGV4Ym94IEdyaWQgTWl4aW5zXG4vLyBWZXJzaW9uIDAuMi4xXG4vLyBEZXNjcmlwdGlvbjogU2FzcyBNaXhpbnMgdG8gZ2VuZXJhdGUgRmxleGJveCBncmlkXG4vLyBBdXRob3I6IHRoaW5nc3ltXG4vLyBHaXRIdWI6IGh0dHBzOi8vZ2l0aHViLmNvbS90aGluZ3N5bS9mbGV4Ym94LWdyaWQtbWl4aW5zXG4vLyBNSVQgTGljZW5zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AY2hhcnNldCAndXRmLTgnO1xuXG4kZmxleGJveC1ncmlkLW1peGlucy1ncmlkLXR5cGU6IHNrZWxldG9uICFkZWZhdWx0O1xuJGZsZXhib3gtZ3JpZC1taXhpbnMtYm94LXNpemluZzogYm9yZGVyLWJveCAhZGVmYXVsdDtcbiRmbGV4Ym94LWdyaWQtbWl4aW5zLXN0YWNrOiBtYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG5AbWl4aW4gZ3JpZCgkZGlzcGxheTogZmxleCwgJGZsZXgtZGlyZWN0aW9uOiBudWxsLCAkZmxleC13cmFwOiBudWxsLCAkZmxleC1mbG93OiBudWxsLCAkanVzdGlmeS1jb250ZW50OiBudWxsLCAkYWxpZ24taXRlbXM6IG51bGwsICRhbGlnbi1jb250ZW50OiBudWxsLCAkZ3V0dGVyOiBudWxsKVxue1xuICAgIEBpZiAkZmxleGJveC1ncmlkLW1peGlucy1ib3gtc2l6aW5nID09ICdib3JkZXItYm94JyBvciAkZmxleGJveC1ncmlkLW1peGlucy1ib3gtc2l6aW5nID09ICdjb250ZW50LWJveCcge1xuICAgICAgICBib3gtc2l6aW5nOiAkZmxleGJveC1ncmlkLW1peGlucy1ib3gtc2l6aW5nO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSB7XG4gICAgICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuICAgIH1cblxuICAgIEBpZiAkZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJGZsZXgtZGlyZWN0aW9uO1xuICAgIH1cbiAgICBAaWYgJGZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogJGZsZXgtd3JhcDtcbiAgICB9XG5cbiAgICBAaWYgJGZsZXgtZmxvdyB7XG4gICAgICAgIGZsZXgtZmxvdzogJGZsZXgtZmxvdztcbiAgICB9XG5cbiAgICBAaWYgJGp1c3RpZnktY29udGVudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgICB9XG4gICAgQGlmICRhbGlnbi1pdGVtcyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXM7XG4gICAgfVxuICAgIEBpZiAkYWxpZ24tY29udGVudCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50O1xuICAgIH1cblxuICAgIEBpZiAkZmxleGJveC1ncmlkLW1peGlucy1ncmlkLXR5cGUgPT0gc2tlbGV0b24ge1xuICAgICAgICBAaWYgJGd1dHRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGd1dHRlciAvIDIgKiAtMTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlciAvIDIgKiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuXG5AbWl4aW4gZ3JpZC1jb2woJGNvbDogbnVsbCwgJGdyaWQtY29sdW1uczogMTAsICRjb2wtb2Zmc2V0OiBudWxsLCAkZ3V0dGVyOiBudWxsLCAkYWxpZ24tc2VsZjogbnVsbCwgJGZsZXgtYmFzaXM6IGF1dG8sICRvcmRlcjogbnVsbCwgJHNob3J0aGFuZDogdHJ1ZSwgJGxhc3QtY2hpbGQ6IGZhbHNlLCAkd2lkdGg6IG51bGwsICRtYXgtd2lkdGg6IG51bGwsICRtaW4td2lkdGg6IG51bGwsICRoZWlnaHQ6IG51bGwsICRtYXgtaGVpZ2h0OiBudWxsLCAkbWluLWhlaWdodDogbnVsbClcbntcbiAgICBAaWYgJGZsZXhib3gtZ3JpZC1taXhpbnMtYm94LXNpemluZyA9PSAnYm9yZGVyLWJveCcgb3IgJGZsZXhib3gtZ3JpZC1taXhpbnMtYm94LXNpemluZyA9PSAnY29udGVudC1ib3gnIHtcbiAgICAgICAgYm94LXNpemluZzogJGZsZXhib3gtZ3JpZC1taXhpbnMtYm94LXNpemluZztcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkY29sKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRjb2wpID09IHRydWUge1xuICAgICAgICAkZmxleC1iYXNpczogcGVyY2VudGFnZSgkY29sIC8gJGdyaWQtY29sdW1ucyk7XG5cbiAgICAgICAgQGlmICRmbGV4Ym94LWdyaWQtbWl4aW5zLWdyaWQtdHlwZSA9PSBza2VsZXRvbiB7XG4gICAgICAgICAgICBAaWYgJGd1dHRlciBhbmQgdW5pdCgkZ3V0dGVyKSA9PSAnJScge1xuICAgICAgICAgICAgICAgICRmbGV4LWJhc2lzOiAkZmxleC1iYXNpcyAtICRndXR0ZXI7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRndXR0ZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXIpID09IGZhbHNlIHtcbiAgICAgICAgICAgICAgICAkZmxleC1iYXNpczogY2FsYyggI3skZmxleC1iYXNpc30gLSAjeyRndXR0ZXJ9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9IEBlbHNlIGlmICRmbGV4Ym94LWdyaWQtbWl4aW5zLWdyaWQtdHlwZSA9PSBtYXJnaW4tb2Zmc2V0IHtcbiAgICAgICAgICAgIEBpZiAkZ3V0dGVyIGFuZCB1bml0KCRndXR0ZXIpID09ICclJyB7XG4gICAgICAgICAgICAgICAgJGZsZXgtYmFzaXM6ICgxMDAlIC0gKCRndXR0ZXIgKiAoJGdyaWQtY29sdW1ucyAvICRjb2wgLSAxKSkpIC8gKCRncmlkLWNvbHVtbnMgLyAkY29sKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGd1dHRlciBhbmQgdW5pdGxlc3MoJGd1dHRlcikgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgICRmbGV4LWJhc2lzOiBjYWxjKCAjeyRmbGV4LWJhc2lzfSAtICN7JGd1dHRlciAqICgkZ3JpZC1jb2x1bW5zIC8gJGNvbCAtIDEpIC8gKCRncmlkLWNvbHVtbnMgLyAkY29sKX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRjb2wtb2Zmc2V0IGFuZCB1bml0KCRjb2wtb2Zmc2V0KSA9PSAnJScge1xuICAgICAgICAgICAgJGZsZXgtYmFzaXM6ICRmbGV4LWJhc2lzICsgJGNvbC1vZmZzZXQ7XG4gICAgICAgIH0gQGVsc2UgaWYgJGNvbC1vZmZzZXQgYW5kIHVuaXRsZXNzKCRjb2wtb2Zmc2V0KSA9PSBmYWxzZSB7XG4gICAgICAgICAgICAkZmxleC1iYXNpczogY2FsYyggI3skZmxleC1iYXNpc30gKyAjeyRjb2wtb2Zmc2V0fSk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sKSA9PSBmYWxzZSB7XG4gICAgICAgICRmbGV4LWJhc2lzOiAkY29sO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ2F1dG8nIHtcbiAgICAgICAgLy8gZmxleDogYXV0bztcbiAgICAgICAgJGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnZXF1YWwnIHtcbiAgICAgICAgLy8gZmxleDogMTtcbiAgICAgICAgJGZsZXgtYmFzaXM6IDA7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnbm9uZScge1xuICAgICAgICAvLyBmbGV4OiBub25lO1xuICAgICAgICAkZmxleC1iYXNpczogYXV0bztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gc3RyaW5nIGFuZCAkY29sID09ICdpbml0aWFsJyB7XG4gICAgICAgIC8vIGZsZXg6IGluaXRpYWw7XG4gICAgICAgICRmbGV4LWJhc2lzOiBhdXRvO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ3Bvc2l0aXZlJyB7XG4gICAgICAgICRmbGV4LWJhc2lzOiAwO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRzaG9ydGhhbmQpID09IGJvb2wgYW5kICRzaG9ydGhhbmQgPT0gdHJ1ZSB7XG4gICAgICAgIGZsZXg6IDEgMSAkZmxleC1iYXNpcztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZmxleC1iYXNpczogJGZsZXgtYmFzaXM7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbi1zZWxmICE9IG51bGwge1xuICAgICAgICBhbGlnbi1zZWxmOiAkYWxpZ24tc2VsZjtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkb3JkZXIpID09IG51bWJlciB7XG4gICAgICAgIG9yZGVyOiAkb3JkZXI7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJHdpZHRoKSA9PSBib29sIGFuZCAkd2lkdGggPT0gdHJ1ZSB7XG4gICAgICAgIHdpZHRoOiAkZmxleC1iYXNpcztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHdpZHRoKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCR3aWR0aCkgPT0gZmFsc2Uge1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkd2lkdGgpID09IHN0cmluZyBhbmQgJHdpZHRoID09ICdhdXRvJyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRtYXgtd2lkdGgpID09IGJvb2wgYW5kICRtYXgtd2lkdGggPT0gdHJ1ZSB7XG4gICAgICAgIG1heC13aWR0aDogJGZsZXgtYmFzaXM7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRtYXgtd2lkdGgpID09IG51bWJlciBhbmQgdW5pdGxlc3MoJG1heC13aWR0aCkgPT0gZmFsc2Uge1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRtYXgtd2lkdGgpID09IHN0cmluZyBhbmQgJG1heC13aWR0aCA9PSAnYXV0bycge1xuICAgICAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJG1pbi13aWR0aCkgPT0gYm9vbCBhbmQgJG1pbi13aWR0aCA9PSB0cnVlIHtcbiAgICAgICAgbWluLXdpZHRoOiAkZmxleC1iYXNpcztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJG1pbi13aWR0aCkgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkbWluLXdpZHRoKSA9PSBmYWxzZSB7XG4gICAgICAgIG1pbi13aWR0aDogJG1pbi13aWR0aDtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJG1pbi13aWR0aCkgPT0gc3RyaW5nIGFuZCAkbWluLXdpZHRoID09ICdhdXRvJyB7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAaWYgJGhlaWdodCAhPSBudWxsIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgICBAaWYgJG1heC1oZWlnaHQgIT0gbnVsbCB7XG4gICAgICAgIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuICAgIH1cbiAgICBAaWYgJG1pbi1oZWlnaHQgIT0gbnVsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyIGFuZCB1bml0bGVzcygkZ3V0dGVyKSA9PSBmYWxzZSB7XG4gICAgICAgIEBpZiAkZmxleGJveC1ncmlkLW1peGlucy1ncmlkLXR5cGUgPT0gc2tlbGV0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICAgICAgfSBAZWxzZSBpZiAkZmxleGJveC1ncmlkLW1peGlucy1ncmlkLXR5cGUgPT0gbWFyZ2luLW9mZnNldCB7XG4gICAgICAgICAgICBAaWYgdHlwZS1vZigkbGFzdC1jaGlsZCkgPT0gYm9vbCBhbmQgJGxhc3QtY2hpbGQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRmbGV4Ym94LWdyaWQtbWl4aW5zLXN0YWNrID09IG1hcmdpbi10b3Age1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgICAgICAgfSBAZWxzZSBpZiAkZmxleGJveC1ncmlkLW1peGlucy1zdGFjayA9PSBtYXJnaW4tYm90dG9tIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICAgIH0gQGVsc2UgaWYgJGZsZXhib3gtZ3JpZC1taXhpbnMtc3RhY2sgPT0gbWFyZ2luLWJvdGgge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGd1dHRlciAvIDI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyIC8gMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnLi9taXhpbic7XG5AaW1wb3J0ICcuL2dyaWQnO1xuXG4kcGFnZS1ib3R0b21fdGV4dC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHBhZ2UtYm90dG9tX2RpdmlkZXItY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRjb250ZW50LWJsb2NrLS1ndXR0ZXI6IDEwcHggICFkZWZhdWx0O1xuLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2s7XG59XG5cbi4jeyRuc31wYWdlLWJvdHRvbSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmLS1jaXJjbGUge1xuICAgICAgICAgICAgd2lkdGg6IDQuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogNC43cmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0LjdyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjdyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LFxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgY29sb3I6ICRwYWdlLWJvdHRvbV90ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcblxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDE3JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2hpcHBpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheW1lbnQge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2hpcHBpbmcsXG4gICAgICAgICYtLXBheW1lbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYWdlLWJvdHRvbV9kaXZpZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhlcm1lcyB7XG4gICAgICAgICAgICB3aWR0aDogMTIuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRobCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4LjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXlwYWwge1xuICAgICAgICAgICAgd2lkdGg6IDYuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZpc2Ege1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFzdGVyY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogMy4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0ta2xhcm5hLXNvZm9ydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1rbGFybmEge1xuICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1nbHMge1xuICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1naXJvcGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lYyB7XG4gICAgICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5ZGlyZWt0IHtcbiAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFzdHNjaHJpZnQge1xuICAgICAgICAgICAgd2lkdGg6IDYuMTVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS12b3JrYXNzZSB7XG4gICAgICAgICAgICB3aWR0aDogOC4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmVjaG51bmcge1xuICAgICAgICAgICAgd2lkdGg6IDYuMTVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLXBkcC1ib3R0b20sXG4uY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLXBhZ2UtYm90dG9tIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtcm93IHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAmLnJvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLnByaWNlLWJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlLm5vLWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMC40ZW07IH1cbiAgLnByaWNlLWJveCAucHJpY2Uge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDAuM3JlbSAwOyB9XG4gICAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAgICAgYm9keVxucFxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtbXNycF9wcmljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLnByaWNlLWJveCAucHJpY2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucHJpY2UtYm94IC5wcmljZS1mcm9tLFxuICAucHJpY2UtYm94IC5wcmljZS10byB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtZnJvbSA+IC5wcmljZS1jb250YWluZXIsXG4gICAgLnByaWNlLWJveCAucHJpY2UtdG8gPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1mcm9tIC5wcmljZS1sYWJlbCxcbiAgICAucHJpY2UtYm94IC5wcmljZS10byAucHJpY2UtbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UsXG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiAjQ0MxQzNBO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZS5hY3RpdmUgLnByaWNlIHtcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuICAucHJpY2UtYm94IC5wcmljZS1mcm9tIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLXByaWNlLS1wZHBfZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94Om5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtYnVuZGxlLWJveF9fYWRkIC5wcmljZS1hcy1jb25maWd1cmVkIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pbWFsLXByaWNlLWxpbms6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICByaWdodDogLTFyZW07XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4kcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcblxuLnByaWNlLWJveCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgQGluY2x1ZGUgcHJpY2VCb3goKTtcblxuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbGFiZWwtY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRwcmljZS1ib3hfbGFiZWwtbWFyZ2luIDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5wYWdlLXByb2R1Y3QtYnVuZGxlLCAucGFnZS1wcm9kdWN0LWdyb3VwZWQpXG4gICAgICAgICAgICAgICAgcDpub3QoLnByaWNlLWZyb20sIC5wcmljZS10bylcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbXNycF9wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5wcmljZS1mcm9tLFxuICAgIC5wcmljZS10byB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLnByaWNlLFxuICAgICAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWZyb20ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgfVxuXG4gICAgLiN7JG5zfXByaWNlLS1wZHBfZGFpbHlkZWFsLWNvdW50ZG93biAmIHtcbiAgICAgICAgJjpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uI3skbnN9YnVuZGxlLWJveF9fYWRkIHtcbiAgICAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgfVxufVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG4iLCIvLyBwcmljZS1ib3hcbi8vIFRoaXMgY29tcG9uZW50IGlzIHJlc3BvbnNpYmxlIGZvciBzdHlsaW5nIHByaWNlcyBieSBtYXJrdXAgcHJvdmlkZWQgYnkgTWFnZW50bzJcbi8vXG4vLyBTZWUgaHR0cDovL3dhcnBzcGlyZS5jb20va3NzLyBmb3IgZG9jdW1lbnRhdGlvbiBndWlkZWxpbmVzLlxuLy8gVmVyc2lvbiAwLjAuMVxuQG1peGluIHByaWNlQm94KCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9sZC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9sZCBwcmljZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZCBmb3IgcHJpY2VzIHdoZXJlIG5vcm1hbCBwcmljZSBpcyBcIkFzIGxvdyBhcyB7cHJpY2V9XCJcbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBCZWNhdXNlIHByaWNlLWJveCBpcyB1c2VkIGluIG11bHRpcGxlIGNvbXBvbmVudHMgbGlrZSB0aWxlLCBidXlib3ggZXRjLFxuICogd2UgbmVlZCB0byBtb3ZlIHZhcmlhYmxlcyB0byBzZXBhcmF0ZSBmaWxlIHRvIGhhdmUgcG9zc2liaWxpdHkgdG8gaW5jbHVkZSB0aGVtXG4gKiBpbiBlYWNoIGNvbXBvbmVudCB3aXRob3V0IGdlbmVyYXRlIHByaWNlLWJveCBjb21wb25lbnQgc3R5bGVzIG11bHRpcGxlIHRpbWVzXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtdGlsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgdHJhbnNpdGlvbjogei1pbmRleCAwLjAwMDFzOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX21haW4sXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQuY3MtcHJvZHVjdC10aWxlLS1zdGF0aWMgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS4ycmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbms6aG92ZXIsIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcy0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBtYXgtd2lkdGg6IDEyNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxM3B4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMUMzQTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tc2FsZSAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tc2FsZSAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1uZXcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MxQzNBO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRhaWx5ZGVhbCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuM3JlbSAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbTplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2dhbGxlcnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFRkVGRjA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1yaWdodCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LS1ncmlkIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXcsXG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1pbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jay0taW46YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RpY2std2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODAwMDAwOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jay0tb3V0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9vdXQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwtLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fcXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjZyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcy0tbGlzdDplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLS1lbXB0eSB7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkgKyAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIGhlaWdodDogNy4ycmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluayB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIC8qIGRpc2FibGVkIGJlY2F1c2UgYXV0b3ByZWZpeGVyIGNhbid0IGJ1aWxkIHRoaXMgKi9cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICBsaW5lLWNsYW1wOiAyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi8gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkY3NDQyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb246ZW1wdHkge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgbWFyZ2luOiBhdXRvIDAgMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19hZGRpdGlvbmFsLS1saXN0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0LS13aXRoLXNpZGViYXIgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0by0tZ3JpZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLFxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvOmVtcHR5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0tLXdpc2hsaXN0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG8tLWdyaWQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS4ycmVtOyB9XG4gICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBmaWxsOiAjNkU2RTZFOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1hcC1vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLndpdGgtc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlLFxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAud2l0aC1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsLFxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwsXG4gICAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAud2l0aC1zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94LnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtIDNyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tcHJldiB7XG4gICAgbGVmdDogLTE0cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgcmlnaHQ6IC0xNHB4OyB9IH1cbiIsIi8qKlxuICogU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbiAqIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4gKiBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbiAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgICAgICRfOiBsb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogMDtcbiAgICAkZGlnaXRzOiAwO1xuICAgICRtaW51czogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSkgPT0gJy0nO1xuICAgICRudW1iZXJzOiAoXG4gICAgICAgICcwJzogMCxcbiAgICAgICAgJzEnOiAxLFxuICAgICAgICAnMic6IDIsXG4gICAgICAgICczJzogMyxcbiAgICAgICAgJzQnOiA0LFxuICAgICAgICAnNSc6IDUsXG4gICAgICAgICc2JzogNixcbiAgICAgICAgJzcnOiA3LFxuICAgICAgICAnOCc6IDgsXG4gICAgICAgICc5JzogOSxcbiAgICApO1xuXG4gICAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgICAgIEBpZiBub3QoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgICAgICAgQHJldHVybiB0by1sZW5ndGgoXG4gICAgICAgICAgICAgICAgaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksXG4gICAgICAgICAgICAgICAgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgICAgICAgJGRpZ2l0czogMTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJGRpZ2l0cyA9PSAwKSB7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICd1dGlscy9zdHJpbmctdG8tbnVtYmVyJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuLy8gR2VuZXJhbFxuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyOiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0OyAvLyBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludDogJ3RhYmxldCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludDogJ2xhcHRvcCcgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3QgbmFtZVxuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ6IDIuNXJlbSAhZGVmYXVsdDsgLy8gTVVTVCBCRSBhIG51bWJlciB2YWx1ZSB3aXRoIHVuaXQsIGNhbm5vdCBiZSAnaW5oZXJpdCdcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I6ICRjb2xvcl9taW5lc2hhZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJhZGdlc1xuJHByb2R1Y3QtdGlsZV9iYWRnZXMtei1pbmRleDogMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uOiAndmVydGljYWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wOiB0b3AgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wOiByaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tdmFsdWU6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICA0fSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IHJpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgMC4zcmVtIDAgIWRlZmF1bHQ7XG5cbi8vIFN3YXRjaGVzXG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtY29udGFpbmVyLW1pbi1oZWlnaHQ6IDIuNnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1tYXJnaW46IDEuNXJlbSAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N3YXRjaGVzLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJyYW5kXG4kcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYnJhbmQtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1vcmRlcjogLTIgIWRlZmF1bHQ7XG5cbi8vIEFkZG9uc1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjogNSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZG9ucy1oZWlnaHQtb24taG92ZXI6IGNhbGMoMTMwJSArIDEwcmVtKVxuICAgICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlciAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLXdpZHRoOiAyNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRvbnMtb25lLWNvbHVtbi1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gMCAwICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIHNlY3Rpb25cbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLW1hcmdpbjogYXV0byAwIDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGRpdGlvbmFsLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gUmV2aWV3XG4kcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMFxuICAgIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcmV2aWV3LW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gICAgMn0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvXG4kcHJvZHVkY3QtdGlsZV9hZGR0by1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hZGR0by1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDAgMCAhZGVmYXVsdDtcblxuLy8gUXR5IHN3aWN0aGVyXG4kcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItd2lkdGg6IDExcmVtICFkZWZhdWx0O1xuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXNwYWNlLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8gQWRkdG9jYXJ0XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn1cbiAgICAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gNH1cbiAgICAwIDAgIWRlZmF1bHQ7XG5cbi8vIFN0b2NrXG4kcHJvZHVjdC10aWxlX3N0b2NrLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1pbi1jb2xvcjogJGNvbG9yX2FwcGxlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zdG9jay1vdXQtb2YtY29sb3I6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3N0b2NrLW1hcmdpbjogMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwXG4gICAgMCAhZGVmYXVsdDtcblxuLy8gRGFpbHkgRGVhbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2RhaWx5ZGVhbC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfZGFpbHlkZWFsLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn1cbiAgICAwIDAgMCAhZGVmYXVsdDtcblxuLy8gV2lzaGxpc3RcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC10ZXh0YXJlYS1oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9IDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tZmlsbDogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG5cbi8vIERlc2NyaXB0aW9uXG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yOiAkY29sb3JfZG92ZS1ncmF5ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC10aWxlLWxpc3RfZGVzY3JpcHRpb24tdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZS1saXN0X2FsaWdubWVudCAhZGVmYXVsdDtcblxuLy8gVGh1bWJuYWlsXG4kcHJvZHVjdC10aWxlLWdyaWRfbGltaXQtY29udGFpbmVyLXRvLWltYWdlLXNpemU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3RodW1ibmFpbC1ib3gtd2lkdGgtbW9iaWxlOiAjeyRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoIC9cbiAgICAyfSAhZGVmYXVsdDtcblxuLy8gUHJpY2VzXG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1kaXJlY3Rpb246ICdob3Jpem9udGFsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wcmljZXMtZGlyZWN0aW9uOiAndmVydGljYWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSGVscGVycyAoZG9uJ3QgZWRpdClcbiRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbjogJz49I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1tYXg6ICc8I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1taW46ICc+PSN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4td2hlbi1zaWRlYmFyLWJyZWFrcG9pbnR9JztcbiRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1heDogJzwjeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50fSc7XG5cbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgbWVkaWEsXG4gICAgaW1hZ2VzLFxuICAgIGltYWdlLFxuICAgIGNhdGVnb3J5X3BhZ2VfZ3JpZFxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoOiB0by1udW1iZXIoXG4gICAgI3ttYXAtZ2V0KCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLCB3aWR0aCl9XG4pO1xuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0OiB0by1udW1iZXIoXG4gICAgI3ttYXAtZ2V0KCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLCBoZWlnaHQpfVxuKTtcblxuLiN7JG5zfXByb2R1Y3QtdGlsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogJHByb2R1Y3QtdGlsZV9hZGRvbnMtemluZGV4LWhvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogei1pbmRleCAwLjAwMDFzOyAvLyBGb3JjZSB6LWluZGV4IHJlLXJlbmRlcmluZyBvbiBTYWZhcmlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsaWNrYWJsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgI3skcm9vdH1fX21haW4sXG4gICAgICAgICN7JHJvb3R9X19hZGRvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItZWZmZWN0cykge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAjey0kcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgKyAyICogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWdyaWQge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtc2hvdy1mb3Itc3RhdGljLXRpbGUgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICYjeyRyb290fS0tc3RhdGljIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIElFMTEgLSBwcmV2ZW50cyBmcm9tIGV4Y2Vzc2l2ZSB0cmFuc2l0aW9uIGVmZmVjdFxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IC8vIElFMTEgZG8gbm90IHJlc3BlY3QgY2VudGVyIHZhbHVlIHVudGlsIHBhcmVudCBoYXMgZmxleC1kaXJlY3Rpb24gc2V0IHRvIGNvbHVtbi5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGggLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQgLyAxMCkgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBc3BlY3QgcmF0aW8gZm9yIHRpbGUgdGh1bWJuYWlsIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gaW1hZ2UgJ2NhdGVnb3J5X3BhZ2VfZ3JpZCcgc2l6ZXMgaW4gZXRjL3ZpZXcueG1sXG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGgsXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICN7JG5zfXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmtcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlcyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAkcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4O1xuXG4gICAgICAgICAgICAjeyRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXByb3B9OiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTtcbiAgICAgICAgICAgICN7JHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcH06ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGlzY291bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGlzY291bnQnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2Rpc2NvdW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zYWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3NhbGUnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3NhbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkYWlseWRlYWwnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gU2V0IHdpZHRoIGV4cGxpY2l0bHkgdG8gYXZvaWQgRWRnZSBidWdzXG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1pdGVtLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcl9jb2xvcjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zIHtcbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtdG9wIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXNpZGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXJpZ2h0IHtcbiAgICAgICAgLy8gTGltaXQgd2lkdGggdG8gcHJldmVudCBvdmVybGFwcGluZyBwcm9ibGVtcyBpbiBJRVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGRvbnMtYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWxlZnQge1xuICAgICAgICAvLyBMaW1pdCB3aWR0aCB0byBwcmV2ZW50IG92ZXJsYXBwaW5nIHByb2JsZW1zIGluIElFXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwcm9kdWN0LXRpbGVfYWRkb25zLWhvcml6b250YWwtcGFkZGluZztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JldmlldyB7XG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcmV2aWV3LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmLFxuICAgICAgICAjeyRyb290fS0tbGlzdCAme1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0b2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG5cbiAgICAgICAgJi0taW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3M7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90aWNrLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW91dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFyay1yZWQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvb3V0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19kYWlseWRlYWwge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItc3BhY2UtYm90dG9tO1xuICAgICAgICB3aWR0aDogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICZfX3N3YXRjaGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtZ3JpZF9icmFuZC1hbGlnbm1lbnQ7XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA9PSAxKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1tYXJnaW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLWFsaWdubWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICN7JHJvb3R9X19icmFuZCArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kLS1lbXB0eSArICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSAqXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgKyAwLjIgK1xuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZS1saW5rIHtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I7XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIT1cbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA+IDEpIHtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkaXRpb25hbCB7XG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1tYXJnaW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0byB7XG4gICAgICAgIC8vIElFIG5lZWRzIHRvIGhhdmUgd2lkdGggc2V0IGV4cGxpY2l0bHlcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAmLFxuICAgICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgICAgICAgICAmX19pdGVtLS13aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydCB7XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc7XG5cbiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgZmlsbDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgICBAaWYgbm90KCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luO1xuICAgICAgICBkaXNwbGF5OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5ID09IGZsZXgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFwLW9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndpdGgtc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlLFxuICAgICAgICAgICAgLndpdGgtc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgLnByaWNlLFxuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1tYXJnaW47XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtZGlyZWN0aW9uID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtZnJvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveCB7XG4gICAgICAgICAgICAmOm5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wcmljZS1ib3gtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDNyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLXByZXZ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1uZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tcmVxdWVzdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi0tcmVxdWVzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLXJlcXVlc3QgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLXJlcXVlc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLXJlcXVlc3QgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbi0tcmVxdWVzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLWJyb3dzZXIgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24tLWJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1icm93c2VyIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1icm93c2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1icm93c2VyIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb24tLWJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1lbmFibGVkIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLS1lbmFibGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tZW5hYmxlZCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tZW5hYmxlZCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgLTJweCAtMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLS1hbmltYXRlIHtcbiAgICAgIGFuaW1hdGlvbjogcmluZ2luZyA2cyBpbmZpbml0ZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMS41cmVtO1xuICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLXJlcXVlc3QgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tYnJvd3NlciAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS10aXRsZSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1lbmFibGVkIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjQTlDNTQ2OyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb25zIHtcbiAgICBtYXJnaW46IDAgMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb24tLWJyb3dzZXIge1xuICAgICAgd2lkdGg6IDMwcmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9uLS1icm93c2VyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwcmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDEuNXJlbSAwOyB9IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdC5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0LCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0ICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHRbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLWljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fcGVybWlzc2lvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMnB4IC0ycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fcGVybWlzc2lvbi1pY29uIHtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3Blcm1pc3Npb24tYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX3Blcm1pc3Npb24tYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuMnJlbSAycmVtO1xuICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fcGVybWlzc2lvbi1idXR0b24tLWJsb2NrIHtcbiAgICAgICAgb3BhY2l0eTogMC4zOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19jbG9zZSB7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTsgfSB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2Nsb3NlLWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBmaWxsOiAjM0UzRTNFOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2Nsb3NlOmhvdmVyIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19jbG9zZS1pY29uIHtcbiAgICAgIGZpbGw6ICMwMDA7IH1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgMCUsXG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMGRlZyk7IH1cbiAgMyUsXG4gIDclIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTsgfVxuICA1JSxcbiAgOSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoLTI3ZGVnKTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MnO1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXI6IDAgMS41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JveC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpLFxuICAgIC0ycHggLTJweCAzcHggcmdiYSgkY29sb3JfYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nOiAycmVtIDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21hcmdpbjogMS41cmVtIDAgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLXdpZHRoOiAzLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1oZWlnaHQ6IDMuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWFuaW1hdGlvbjogdHJ1ZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWFuaW1hdGlvbi1yZXBlYXQ6IDZzICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtcmVxdWVzdC1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1icm93c2VyLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWVuYWJsZWQtY29sb3I6ICRjb2xvcl9zdWNjZXNzLTYwMCAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm94LXNoYWRvdzogMnB4IDJweCA1cHhcbiAgICAgICAgcmdiYSgkY29sb3JfYmxhY2ssIDAuMSksXG4gICAgLTJweCAtMnB4IDVweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLXBhZGRpbmc6IDFyZW0gMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tcGFkZGluZzogMC4ycmVtIDJyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1pY29uLXdpZHRoOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWljb24taGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2Utd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtaGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWNvbG9yLS1ob3ZlcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4uI3skbnN9cHdhLW5vdGlmaWNhdGlvbi1wYW5lbCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmLS1yZXF1ZXN0IHtcbiAgICAgICAgI3skcm9vdH0ge1xuICAgICAgICAgICAgJl9faWNvbi0tcmVxdWVzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21lc3NhZ2UtLXJlcXVlc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2FjdGlvbi0tcmVxdWVzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1icm93c2VyIHtcbiAgICAgICAgI3skcm9vdH0ge1xuICAgICAgICAgICAgJl9faWNvbi0tYnJvd3NlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21lc3NhZ2UtLWJyb3dzZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2FjdGlvbi0tYnJvd3NlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1lbmFibGVkIHtcbiAgICAgICAgI3skcm9vdH0ge1xuICAgICAgICAgICAgJl9faWNvbi0tZW5hYmxlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21lc3NhZ2UtLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmc7XG4gICAgICAgIGJvcmRlcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW46ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21hcmdpbjtcbiAgICB9XG5cbiAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1oZWlnaHQ7XG5cbiAgICAgICAgJi0tYW5pbWF0ZSB7XG4gICAgICAgICAgICBAaWYgJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtYW5pbWF0aW9uIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHJpbmdpbmdcbiAgICAgICAgICAgICAgICAgICAgJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtYW5pbWF0aW9uLXJlcGVhdFxuICAgICAgICAgICAgICAgICAgICBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyO1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMiAqXG4gICAgICAgICAgICAgICAgKGdldC12YWx1ZS1mcm9tLWxpc3QoJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZywgJ3JpZ2h0JykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJi0tcmVxdWVzdCB7XG4gICAgICAgICAgICAjeyRyb290fV9fbWVzc2FnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtcmVxdWVzdC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJyb3dzZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX21lc3NhZ2UtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWJyb3dzZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lbmFibGVkIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19tZXNzYWdlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1lbmFibGVkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJ3VwJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi0tYnJvd3NlciB7XG4gICAgICAgICAgICB3aWR0aDogMzByZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyLCAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWNjZXB0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlY2xpbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGVybWlzc2lvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJvcmRlcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3gtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1wYWRkaW5nO1xuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1pY29uLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWljb24taGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4ycmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICAgICAgICAgJi0tYmxvY2sge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgbWFyZ2luOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZywgJ3VwJyk7XG4gICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1oZWlnaHQ7XG4gICAgICAgICAgICBmaWxsOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fY2xvc2UtaWNvbiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmluZ2luZyB7XG4gICAgMCUsXG4gICAgMTIlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDMlLFxuICAgIDclIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgyN2RlZyk7XG4gICAgfVxuICAgIDUlLFxuICAgIDklIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgtMjdkZWcpO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy1xdHktaW5jcmVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmNzLXF0eS1pbmNyZW1lbnQtLXdpc2hsaXN0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNnB4IDVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLXdpZHRoOiAyY2g7XG4gICAgZmxleDogMTtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5pZTExIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0LCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RjZGNkYzsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dC5tYWdlLWVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0NDMUMzQSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQubWFnZS1lcnJvciB+IC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6ICNDQzFDM0EgIWltcG9ydGFudDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCArIC5tYWdlLWVycm9yIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbDtcbiAgICBtYXgtd2lkdGg6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBmbGV4OiAxIDEgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWluLXdpZHRoOiAzNHB4OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjp2aXNpdGVkLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246dmlzaXRlZCAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmZvY3VzICoge1xuICAgICAgICBmaWxsOiAjMDAwOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpob3ZlciwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246aG92ZXIgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjphY3RpdmUgKiB7XG4gICAgICAgIGZpbGw6ICMwMDA7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kZWNyZW1lbnQge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRlY3JlbWVudCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7IH0gfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWluY3JlbWVudCB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1pbmNyZW1lbnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH0gfVxuICAuY3MtcXR5LWluY3JlbWVudF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pY29uLS1kZWNyZW1lbnQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faWNvbi0taW5jcmVtZW50IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbiRxdHktaW5jcmVtZW50LS1pbi13aXNobGlzdF9oaWRlOiB0cnVlICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9pbnB1dC1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pbnB1dC10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pbnB1dC0tZXJyb3ItYm9yZGVyLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWhvdmVyLWJvcmRlcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRxdHktaW5jcmVtZW50X2J1dHRvbi1wb3NpdGlvbi1vZmZzZXQ6IDFweCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi13aWR0aDogM3JlbSAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9pY29uLWZpbGw6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWhvdmVyLWZpbGw6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRpc2FibGVkLWZpbGw6ICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LXdpZHRoOiBhdXRvICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aDogJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LXdpZHRoICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LWhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoICFkZWZhdWx0O1xuXG4uI3skbnN9cXR5LWluY3JlbWVudCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaWYgJHF0eS1pbmNyZW1lbnQtLWluLXdpc2hsaXN0X2hpZGUge1xuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcbiAgICAgICAgZm9udC1zaXplOiAkcXR5LWluY3JlbWVudF9pbnB1dC1mb250LXNpemU7XG4gICAgICAgIHRleHQtYWxpZ246ICRxdHktaW5jcmVtZW50X2lucHV0LXRleHQtYWxpZ247XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogNnB4IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMmNoO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAgICAgJjpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0taG92ZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICB+ICN7JHJvb3R9X19idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgKyAubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgZmlsbCAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbDtcbiAgICAgICAgbWF4LXdpZHRoOiAkcXR5LWluY3JlbWVudF9idXR0b24td2lkdGg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBmbGV4OiAxIDEgKCN7JHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoIC0gMX0pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgbWluLXdpZHRoOiAzNHB4O1xuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHF0eS1pbmNyZW1lbnRfaWNvbi1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taG92ZXItZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlY3JlbWVudCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTNweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluY3JlbWVudCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAmLS1kZWNyZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluY3JlbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kOiAjZGNkY2RjO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07IH1cbiAgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZCAwLjNzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9XG4gICAgLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxlLnVpLXN0YXRlLWhvdmVyLCAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUudWktc3RhdGUtYWN0aXZlLCAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUudWktc3RhdGUtZm9jdXMge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgYmFja2dyb3VuZDogI0ZGNzQ0MjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbiRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9iYWNrZ3JvdW5kOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4udWktc2xpZGVyLWhvcml6b250YWwge1xuICAgIGJhY2tncm91bmQ6ICRzbGlkZXItLWhvcml6b250YWxfYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItLWhvcml6b250YWxfaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci0taG9yaXpvbnRhbF9oZWlnaHQ7XG5cbiAgICAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemUgLyAyKTtcblxuICAgICAgICAmLnVpLXN0YXRlLWhvdmVyLFxuICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSxcbiAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMS41cmVtIDAgMS41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDAgMC40ZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMy41ZW07XG4gICAgbWluLXdpZHRoOiA0ZW07XG4gICAgYmFja2dyb3VuZDogIzIxMjEyMTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2xpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGNzQ0MjsgfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmaWxsOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTU1JSwgLTU1JSwgMCkgc2tldygxOGRlZyk7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBsaW5lYXI7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTUlOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS1mYiAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgaGVpZ2h0OiAxLjhlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tdHcgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS15dCAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgaGVpZ2h0OiAyLjFlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tZ3AgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfZmxleC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIgMCAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1tYXJnaW46IDAgMC40ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1wYWRkaW5nOiAxZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ6IDMuNWVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoOiA0ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01NSUsIC01NSUsIDApXG4gICAgJHRyYW5zZm9ybV9za2V3LTQwMC1yZXZlcnQgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24taG92ZXItY29sb3I6ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWNvbG9yICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbkBpZiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbiA9PSBhYnNvbHV0ZSB7XG4gICAgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKVxuICAgICAgICAkdHJhbnNmb3JtX3NrZXctNDAwLXJldmVydCAhZGVmYXVsdDtcbn1cblxuLiN7JG5zfXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgIGRpc3BsYXk6ICRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5O1xuICAgIHBhZGRpbmc6ICRzb2NpYWwtbWVkaWEtbGlzdF9wYWRkaW5nO1xuXG4gICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5ID09XG4gICAgICAgIGZsZXggb3JcbiAgICAgICAgJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXkgPT1cbiAgICAgICAgaW5saW5lLWZsZXhcbiAgICB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHNvY2lhbC1tZWRpYS1saXN0X2ZsZXgtanVzdGlmeS1jb250ZW50O1xuICAgICAgICBhbGlnbi1pdGVtczogJHNvY2lhbC1tZWRpYS1saXN0X2ZsZXgtYWxpZ24taXRlbXM7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6ICRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstZGlzcGxheTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhlaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1taW4td2lkdGg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2Zvcm06ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjtcblxuICAgICAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZCAhPVxuICAgICAgICAgICAgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZFxuICAgICAgICB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjtcbiAgICAgICAgZmlsbDogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2l0aW9uO1xuXG4gICAgICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbiA9PSBhYnNvbHV0ZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDU1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1ob3Zlci1jb2xvciAhPSAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1jb2xvclxuICAgICAgICB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1mYiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAwLjllbTtcbiAgICAgICAgICAgIGhlaWdodDogMS44ZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tdHcgJiB7XG4gICAgICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS15dCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi4xZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faXRlbS0tZ3AgJiB7XG4gICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjFlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtc3Rhci1yYXRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDcuMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXN1bW1hcnkgLmNzLXN0YXItcmF0aW5nX19zdGFycyB7XG4gICAgICB3aWR0aDogMTByZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1yZXZpZXcgLmNzLXN0YXItcmF0aW5nX19zdGFycyB7XG4gICAgICB3aWR0aDogNy4ycmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmlsbDogIzZFNkU2RTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fc3Rhci0tYWN0aXZlIHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWhhbGYtYWN0aXZlIC5zdGFyLWxlZnQge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fc3Rhci0taGFsZi1hY3RpdmUgLnN0YXItcmlndGgge1xuICAgICAgZmlsbDogIzZFNkU2RTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tc3VtbWFyeSAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgICAgd2lkdGg6IDJyZW07IH1cbiAgICAgIC5pZTExIC5jcy1zdGFyLXJhdGluZy0tc3VtbWFyeSAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoIDJyZW0gLyAxLjA1KTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICB3aWR0aDogMS41cmVtOyB9XG4gICAgICAuaWUxMSAuY3Mtc3Rhci1yYXRpbmctLXJldmlldyAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoIDEuNXJlbSAvIDEuMDUpOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyIHBhdGgge1xuICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgZmlsbDogaW5oZXJpdDsgfVxuICAgIC5pZTExIC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoIDEuNXJlbSAvIDEuMDUpOyB9XG4gIC5jcy1zdGFyLXJhdGluZyBpbWcge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWxsOiAjNkU2RTZFO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXI6bnRoLWxhc3Qtb2YtdHlwZSgpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnM6aG92ZXIgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyBsYWJlbDpob3ZlciB+IGxhYmVsIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGZpbGw6ICM2RTZFNkU7IH1cbiAgICAuaWUxMSAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoIDJyZW0gLyAxLjA1KTsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEuNXJlbSAqIDAuMSk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtLWNvdW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtLWNvdW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZSAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fbGFiZWwge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjIpOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMTpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMjpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMzpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctNDpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctNTpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42cmVtOyB9IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTogJGNvbG9yX3Jldmlldy1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItaW5hY3RpdmU6ICRjb2xvcl9yZXZpZXctY29udHJvbC1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ190ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIGZsZXgganVzdGlmaWNhdGlvbiBvZiBzdGFyc1xuJHN0YXItcmF0aW5nX2p1c3RpZnk6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIGEgc2luZ2xlIHN0YXJcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTogMnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldzogMS41cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm06IDJyZW0gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIHJldmlldyBzdGFycyBjb250YWluZXJcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtZGVmYXVsdDogNy4ycmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk6IDEwcmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXc6IDcuMnJlbSAhZGVmYXVsdDtcbi8vIFBhZGRpbmcgZm9yIHJldmlldyBmb3JtIHN0YXJzXG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtOiAwLjZyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTogMXJlbSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgcGFkZGluZyBydWxlc2V0XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1kZWZhdWx0OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3cy1zdW1tYXJ5OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3LWZvcm06IDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHNjb3JlIGFuZCBjb3VudCB0ZXh0ZmllbGQgZGlzcGxheSBydWxlc2V0XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXBkcDogZmFsc2UgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBkaXNwbGF5IHJ1bGVzZXQgZm9yIFwicmV2aWV3XCIgYW5ub3RhdGlvblxuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi1wZHA6IGZhbHNlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlOiB0cnVlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyByYXRpbmcgbGFiZWwgZGV0YWlsc1xuJHN0YXItcmF0aW5nX2xhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC1zaXplOiAwLjc1ZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBzdGFyIHN2ZyBmb3IgaWUxMSBoZWlnaHQgY2FsY3VsYXRpb25zXG4kc3Rhci1yYXRpbmdfc3Rhci1hc3BlY3QtcmF0aW86IDEuMDUgIWRlZmF1bHQ7XG5cbi4jeyRuc31zdGFyLXJhdGluZyB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJl9fc3RhcnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctZGVmYXVsdDtcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtZGVmYXVsdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkc3Rhci1yYXRpbmdfanVzdGlmeTtcblxuICAgICAgICAjeyRyb290fS0tc3VtbWFyeSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlld3Mtc3VtbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1yZXZpZXcgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXc7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdGFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWluYWN0aXZlO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGFsZi1hY3RpdmUge1xuICAgICAgICAgICAgLnN0YXItbGVmdCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0YXItcmlndGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld3Mtc3VtbWFyeX0gLyAjeyRzdGFyLXJhdGluZ19zdGFyLWFzcGVjdC1yYXRpb31cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXJldmlldyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXc7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXd9IC8gI3skc3Rhci1yYXRpbmdfc3Rhci1hc3BlY3QtcmF0aW99XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdH0gLyAjeyRzdGFyLXJhdGluZ19zdGFyLWFzcGVjdC1yYXRpb31cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2Zvcm0tc3RhcnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3LWZvcm07XG4gICAgfVxuXG4gICAgJl9fZm9ybS1zdGFyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1pbmFjdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWxsOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtbGFzdC1vZi10eXBlKCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mb3JtLXN0YXJzOmhvdmVyICYge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZm9ybS1zdGFycyBsYWJlbDpob3ZlciB+IGxhYmVsICYge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1pbmFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm19IC8gI3skc3Rhci1yYXRpbmdfc3Rhci1hc3BlY3QtcmF0aW99XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRzdGFyLXJhdGluZ190ZXh0LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMSk7XG5cbiAgICAgICAgJi0tY291bnQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLXRleHQtcGRwIHtcbiAgICAgICAgICAgIC4jeyRuc31idXlib3ggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGUge1xuICAgICAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hbm5vdGF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXBkcCB7XG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlIHtcbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkc3Rhci1yYXRpbmdfbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGFyLXJhdGluZ19sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMik7XG4gICAgfVxufVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA1IHtcbiAgICAgICAgLnJhdGluZy0jeyRpfTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybSArXG4gICAgICAgICAgICAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybS1tb2JpbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybSArXG4gICAgICAgICAgICAgICAgJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSB7XG4gIGZvbnQtc2l6ZTogMC40NWVtO1xuICBtaW4taGVpZ2h0OiBjYWxjKCAxICogKDIuOGVtICsgOHB4KSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9IH1cbiAgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXTplbXB0eSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaWUxMSBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uc3dhdGNoLW9wdCB7XG4gIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgLnN3YXRjaC1vcHQgLm1hZ2UtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwcmVtICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAubWFnZS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAxMXJlbSArIDEuNXJlbSk7IH0gfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS5zd2F0Y2gtbGF5ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZSArIC5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKCAyLjhlbSAtIDZweCArIDAuMWVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgd2lkdGg6IDEwcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMXJlbTsgfSB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnOiAnO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCAyLjhlbSAtIDZweCArIDAuMWVtKTsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1zZWxlY3RlZC1vcHRpb24ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqLyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjRlbTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMS41cmVtIC0gMTByZW0pOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLSAxLjVyZW0gLSAxMXJlbSk7IH0gfVxuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQge1xuICBmb250LXNpemU6IDFlbTsgfVxuICAuc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc3dhdGNoLW9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAzLjJlbTtcbiAgaGVpZ2h0OiAyLjhlbTtcbiAgcGFkZGluZzogMCAwLjM1ZW07XG4gIG1hcmdpbjogMXB4IGNhbGMoIDFweCArIDAuMmVtKSBjYWxjKDFweCArIDAuNGVtKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZjBmMGYwO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXItY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLCBjb2xvciAwLjNzO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zd2F0Y2gtb3B0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTRweDtcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHJpZ2h0OiAtNHB4O1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zczsgfVxuICAuc3dhdGNoLW9wdGlvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zd2F0Y2hlcy9kaXNhYmxlZC5zdmcpIHJnYmEoMjIwLCAyMjAsIDIyMCwgMC41KSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiBjYWxjKDIuOGVtIC0gMS40ZW0pO1xuICAgIGhlaWdodDogY2FsYygyLjhlbSAtIDEuNGVtKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgLnN3YXRjaC1vcHRpb246bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0OyB9XG4gIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNzQ0MjsgfVxuICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZCwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQudGV4dCwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdLnRleHQge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgICAgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQudGV4dDpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXS50ZXh0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZC5pbWFnZTphZnRlciwgLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQuY29sb3I6YWZ0ZXIsIC5zd2F0Y2gtb3B0aW9uW2Rpc2FibGVkXS5pbWFnZTphZnRlciwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdLmNvbG9yOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnN3YXRjaC1pbnB1dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovXG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2F0Y2gtbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgY29sb3I6ICMzRTNFM0U7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAycmVtO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmltYWdlLFxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDsgfVxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwIC5jb3JuZXI6YWZ0ZXIsXG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuY29ybmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoIC0wLjVyZW0gKyAwLjFyZW0pOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRzd2F0Y2hlcy0tY2xpY2thYmxlOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NhdGFsb2csXG4gICAgY29uZmlndXJhYmxlX3RpbGVfc3dhdGNoZXMsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuLy8gS2VlcCBpbiBzeW5jIHdpdGggcXVhbnRpdHkgd3JhcHBlciBpbiBidXlib3guXG4kc3dhdGNoZXNfbGFiZWwtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cDogMTFyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfbGFiZWwtZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfbGFiZWwtZm9udC1zaXplOiAxLjFlbSAhZGVmYXVsdDtcbi8vIEtlZXAgaW4gc3luYyB3aWR0aCBxdWFudGl0eSB3cmFwcGVyIGluIGJ1eWJveCBlbmQuXG5cbi8vIFNjZW5hcmlvIHdpdGggc3dhdGNoZXMgYmVsb3cgbGFiZWwsIHdoaWNoIGlzIDEwMCUgd2lkZVxuLy8gd2l0aCB0aGlzIHZhcmlhYmxlIHNldCB0byB0cnVlICRzd2F0Y2hlc19sYWJlbC13aWR0aFxuLy8gYW5kICRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXAgd2lsbCBiZSBvdmVycmlkZW4gLSBhbHdheXMgMTAwJSB3aWR0aFxuJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWw6IGZhbHNlICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfZGlzYWJsZS1zaG93LW1vcmU6IHRydWUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWd1dHRlcjogMC40ZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWhlaWdodDogMi44ZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLXdpZHRoOiAzLjJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtcGFkZGluZzogMCAwLjM1ZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0OiAwLjFlbSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLWJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggc29saWRcbiAgICAkc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1ib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoIHNvbGlkXG4gICAgJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggc29saWRcbiAgICAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS10ZXh0LW9wYWNpdHk6IDAuNjUgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDogKFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICsgJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoXG4pICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWRcbiAgICAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWRcbiAgICAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19yb3dzLWd1dHRlcjogJHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgKiAyICFkZWZhdWx0O1xuXG4kc3dhdGNoZXMtLXRpbGVfZm9udC1zaXplOiAwLjQ1ZW0gIWRlZmF1bHQ7XG4vLyBUZWxscyBob3cgbWFueSByb3dzIG9mIHN3YXRjaGVzIHdpbGwgYmUgZGlzcGxheWVkIGluc2lkZSB0aWxlIGNvbXBvbmVudC5cbiRzd2F0Y2hlcy0tdGlsZV9udW0tb2Ytcm93czogMSAhZGVmYXVsdDtcbi8vIENhbGN1bGF0ZXMgaG93IG11Y2ggc3BhY2Ugc2hvdWxkIGJlIHJlc2VydmVkIGluIHRpbGUgZm9yIHN3YXRjaGVzIHRvIHByZXZlbnQgY29udGVudCBmcm9tIGp1bXBpbmcuXG4kc3dhdGNoZXMtLXRpbGVfbWluLWhlaWdodDogY2FsYyhcbiAgICAjeyRzd2F0Y2hlcy0tdGlsZV9udW0tb2Ytcm93c30gKiAoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQgKlxuICAgICAgICAgICAgICAgIDJ9KVxuKTtcbiRzd2F0Y2hlcy0tcGRwX2ZvbnQtc2l6ZTogMC45ZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXMtLWZpbHRlcnNfZm9udC1zaXplOiAwLjhlbSAhZGVmYXVsdDtcblxuLy8gVG9vbHRpcHMgZm9yIHN3YXRjaGVzXG4kc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAwLjVyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZTogMC4xcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1taW4td2lkdGg6IDJyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaG93OiB0cnVlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14OiA1MCUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgbWVkaWEsXG4gICAgaW1hZ2VzLFxuICAgIGltYWdlLFxuICAgIHN3YXRjaF90aHVtYlxuKSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLXdpZHRoOiAje21hcC1nZXQoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhLFxuICAgICAgICB3aWR0aFxuICAgICl9ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWhlaWdodDogI3ttYXAtZ2V0KFxuICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YSxcbiAgICAgICAgaGVpZ2h0XG4gICAgKX0gIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBzZWxlY3RvciBmb3Igc3dhdGNoZXMgaW4gdGlsZSBhbmQgZGFpbHkgZGVhbCB0ZWFzZXIuXG5bY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlcy0tdGlsZV9mb250LXNpemU7XG4gICAgbWluLWhlaWdodDogJHN3YXRjaGVzLS10aWxlX21pbi1oZWlnaHQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaWYgJHN3YXRjaGVzLS1jbGlja2FibGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgIC5pZTExICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIENvbnRhaW5lciBzZWxlY3RvciBmb3Igc3dhdGNoZXMgb24gUERQXG4uc3dhdGNoLW9wdCB7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLXBkcF9mb250LXNpemU7XG5cbiAgICAvLyBTZWxlY3RvciBmb3IgZXJyb3IgY29udGFpbmVyIHdoZW4gc3dhdGNoZXMgYXJlIHJlcXVpcmVkIGJ1dCBub3Qgc2VsZWN0ZWQuXG4gICAgLm1hZ2UtZXJyb3Ige1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JHN3YXRjaGVzX2xhYmVsLXdpZHRofSArICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0pO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyhcbiAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXB9ICsgI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFRoZSBvbmx5IHNlbGVjdG9yIHdlIGhhdmUgdG8gdGVsbCB0aGF0IHN3YXRjaGVzIGFyZSBpbnNpZGUgYWZ0ZXJzZWFyY2ggbmF2aWdhdGlvbi5cbiAgICAmLnN3YXRjaC1sYXllcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLWZpbHRlcnNfZm9udC1zaXplO1xuICAgIH1cblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHN3YXRjaGVzX3Jvd3MtZ3V0dGVyO1xuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICsgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlc19sYWJlbC1mb250LXNpemU7XG4gICAgd2lkdGg6ICRzd2F0Y2hlc19sYWJlbC13aWR0aDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzd2F0Y2hlc19sYWJlbC1ndXR0ZXI7XG5cbiAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICB3aWR0aDogJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cDtcblxuICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gK1xuICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLXNlbGVjdGVkLW9wdGlvbiB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAtI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAvIDJ9O1xuICAgIG1hcmdpbi1ib3R0b206IC0jeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyfTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuc3dhdGNoLW9wdCAmIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyhcbiAgICAgICAgICAgIDEwMCUgLSAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9IC0gI3skc3dhdGNoZXNfbGFiZWwtd2lkdGh9XG4gICAgICAgICk7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwJSAtICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0gLSAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXB9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEVsZW1lbnQgYWRkZWQgYXMgYSBwYXJlbnQgb2YgLnN3YXRjaC1vcHRpb24gaW4gZmlsdGVycy5cbi5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZCB7XG4gICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLnN3YXRjaC1vcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogJHN3YXRjaGVzX3N3YXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRzd2F0Y2hlc19zd2F0Y2gtcGFkZGluZztcbiAgICBtYXJnaW46ICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSBjYWxjKFxuICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9ICsgI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAvIDJ9XG4gICAgICAgICkgY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyfSk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyO1xuICAgIGNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXItY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLFxuICAgICAgICBjb2xvciAwLjNzO1xuXG4gICAgQGlmICRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBsZWZ0OiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBib3R0b206IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3N3YXRjaGVzL2Rpc2FibGVkLnN2ZylcbiAgICAgICAgICAgIHJnYmEoJGNvbG9yX2JhY2tncm91bmQtNjAwLCAwLjUpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtIDEuNGVtKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gMS40ZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJjpub3QoLmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0taG92ZXItb3V0bGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLW91dGxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAmLnRleHQge1xuICAgICAgICAgICAgb3BhY2l0eTogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1vcGFjaXR5O1xuICAgICAgICAgICAgY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pbWFnZSxcbiAgICAgICAgJi5jb2xvciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgc3R5bGVzIGZyb20gTWFnZW50by5cbiAgICAvLyBJdCBwcmV2ZW50cyBrZXlib2FyZCBvbiBtb2JpbGUgdG8gYmUgc2hvd24gYWZ0ZXIgc3dhdGNoIGlzIGNsaWNrZWRcbiAgICBsZWZ0OiAtMTAwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zd2F0Y2gtbW9yZSB7XG4gICAgQGlmICRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46ICRzd2F0Y2hlc190b29sdGlwLW1hcmdpbjtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlc190b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJHN3YXRjaGVzX3Rvb2x0aXAtcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiAkc3dhdGNoZXNfdG9vbHRpcC10ZXh0LWFsaWduO1xuICAgIG1pbi13aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtbWluLXdpZHRoO1xuXG4gICAgQGlmIChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgJ25vbmUnXG4gICAgKSB7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemVcbiAgICAgICAgICAgIHNvbGlkXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLXdpZHRoICsgJ3B4JztcbiAgICAgICAgaGVpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtaGVpZ2h0ICsgJ3B4JztcbiAgICB9XG5cbiAgICAuY29ybmVyIHtcbiAgICAgICAgQGlmICgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaG93KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14O1xuICAgICAgICAgICAgICAgIEBpZiAodW5pdCgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteCkgPT0gJyUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteH0pXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgICAgICAgICAgICAgJ25vbmUnXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemV9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemUgLyAyfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy10aWxlLWdhbGxlcnkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy10aWxlLWdhbGxlcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC50b3VjaC1kZXZpY2UgLmNzLXRpbGUtZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciAuY3MtdGlsZS1nYWxsZXJ5LmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgLmNzLXRpbGUtZ2FsbGVyeV9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAuM3JlbSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXRpbGUtZ2FsbGVyeV9fdGh1bWJuYWlsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZFNkU2RTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy90aWxlLWdhbGxlcnkvdGlsZS1nYWxsZXJ5LXNwaW5uZXIuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLXRpbGUtZ2FsbGVyeV9faXRlbS0tYWN0aXZlIC5jcy10aWxlLWdhbGxlcnlfX3RodW1ibmFpbCB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtdGlsZS1nYWxsZXJ5X190aHVtYm5haWwgPiBzb3VyY2UsXG4gICAgLmNzLXRpbGUtZ2FsbGVyeV9fdGh1bWJuYWlsID4gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2UtLWFuaW1hdGFibGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDIuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KSwgb3BhY2l0eSAwLjQ1cyBsaW5lYXI7IH1cblxuLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2UtLWFuaW1hdGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLWxlZnQ6IDAgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X3Bvc3Rpb24tcmlnaHQ6IGF1dG8gIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X3Bvc3Rpb24tdG9wOiBhdXRvICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLWJvdHRvbTogMCAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfemluZGV4OiA0ICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV90cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuJHRpbGUtZ2FsbGVyeV9pdGVtLWJvcmRlci1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X2l0ZW0tLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfaXRlbS1ib3JkZXI6IDFweCBzb2xpZCAkdGlsZS1nYWxsZXJ5X2l0ZW0tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9pdGVtLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbiR0aWxlLWdhbGxlcnlfdGh1bWJuYWlsLXdpZHRoOiA0cmVtICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV90aHVtYm5haWwtaGVpZ2h0OiA0cmVtICFkZWZhdWx0O1xuXG4kdGlsZS1nYWxsZXJ5X3NwaW5uZXItaW1hZ2UtdXJsOiAnLi4vaW1hZ2VzL2ljb25zL3RpbGUtZ2FsbGVyeS90aWxlLWdhbGxlcnktc3Bpbm5lci5zdmcnICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9zcGlubmVyLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMDtcblxuJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGFibGUtb3BhY2l0eTogMCAhZGVmYXVsdDtcbiR0aWxlLWdhbGxlcnlfbWFpbi1pbWFnZS1hbmltYXRlLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtYW5pbWF0YWJsZS10cmFuc2Zvcm06IHNjYWxlKDIuNSkgIWRlZmF1bHQ7XG4kdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtYW5pbWF0ZS10cmFuc2Zvcm06IHNjYWxlKDEpICFkZWZhdWx0O1xuJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzXG4gICAgICAgICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDAsXG4gICAgb3BhY2l0eSAwLjQ1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi4jeyRuc310aWxlLWdhbGxlcnkge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICR0aWxlLWdhbGxlcnlfemluZGV4O1xuICAgIGxlZnQ6ICR0aWxlLWdhbGxlcnlfcG9zdGlvbi1sZWZ0O1xuICAgIHJpZ2h0OiAkdGlsZS1nYWxsZXJ5X3Bvc3Rpb24tcmlnaHQ7XG4gICAgdG9wOiAkdGlsZS1nYWxsZXJ5X3Bvc3Rpb24tdG9wO1xuICAgIGJvdHRvbTogJHRpbGUtZ2FsbGVyeV9wb3N0aW9uLWJvdHRvbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246ICR0aWxlLWdhbGxlcnlfdHJhbnNpdGlvbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAudG91Y2gtZGV2aWNlICYge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAuI3skbnN9cHJvZHVjdC10aWxlOmhvdmVyICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuM3JlbSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6ICR0aWxlLWdhbGxlcnlfdGh1bWJuYWlsLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICR0aWxlLWdhbGxlcnlfdGh1bWJuYWlsLWhlaWdodDtcbiAgICAgICAgYm9yZGVyOiAkdGlsZS1nYWxsZXJ5X2l0ZW0tYm9yZGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdGlsZS1nYWxsZXJ5X2l0ZW0tdHJhbnNpdGlvbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gRml4IHNvdXJjZSBlbGVtZW50cyBvdmVyZmxvd2luZyBwaWN0dXJlIGVsZW1lbnQncyBib3JkZXJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHRpbGUtZ2FsbGVyeV9zcGlubmVyLWltYWdlLXVybCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDA7XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRpbGUtZ2FsbGVyeV9pdGVtLS1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzb3VyY2UsXG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRuc31wcm9kdWN0LXRpbGUge1xuICAgICZfX2ltYWdlIHtcbiAgICAgICAgJi0tYW5pbWF0YWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtYW5pbWF0YWJsZS1vcGFjaXR5O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAkdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtYW5pbWF0YWJsZS10cmFuc2Zvcm07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkdGlsZS1nYWxsZXJ5X21haW4taW1hZ2UtdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFuaW1hdGUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGUtb3BhY2l0eTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJHRpbGUtZ2FsbGVyeV9tYWluLWltYWdlLWFuaW1hdGUtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy10b3BiYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB6LWluZGV4OiAzMDI7IH1cbiAgLmNzLXRvcGJhci0taGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpOyB9XG4gIC5wYWdlLXByaW50IC5jcy10b3BiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgLmNzLXRvcGJhcl9faXRlbSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDAgMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGE6YWN0aXZlLCAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGE6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweCAwIDA7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyOHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB7XG4gICAgICAgICAgd2lkdGg6IGluaXRpYWw7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAuY3MtdG9wYmFyX19pdGVtLS1hdXRob3JpemF0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gIC5jcy10b3BiYXJfX3Bob25lLW51bWJlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTsgfVxuICAgIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvbGluayc7XG5cbiR0b3BiYXJfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdG9wYmFyX2hlaWdodDogMi43cmVtICFkZWZhdWx0O1xuXG4kdG9wYmFyX2l0ZW0tZm9udC1zaXplOiAkZm9udC1zaXplX2NhcHRpb24gIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLWhvdXJzLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLWJvcmRlci10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tcGhvbmVfbnVtYmVyLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG5cbiR0b3BiYXJfbGluay1jb2xvci1hY3Rpb246ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXJfbGluay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4uI3skbnN9dG9wYmFyIHtcbiAgICAkcm9vdDogJjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogJHRvcGJhcl9pdGVtLWZvbnQtc2l6ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgei1pbmRleDogMzAyO1xuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDUlKTtcbiAgICB9XG5cbiAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBjb2xvcjogJHRvcGJhcl9pdGVtLXRleHQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJi0taG90bGluZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5rKCR0b3BiYXJfbGluay1jb2xvciwgJHRvcGJhcl9saW5rLWNvbG9yLWFjdGlvbik7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDAgMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI4cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXV0aG9yaXphdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAkdG9wYmFyX2l0ZW0taG91cnMtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45cmVtO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAzLjJyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5hLCBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgY29sb3I6ICNGRjQ2MDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICBwYWRkaW5nOiAwIDAgMCA0cmVtOyB9XG4gIHVsID4gbGksXG4gIG9sID4gbGkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLmhpZGRlbi10aXRsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi50ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udGV4dC11cHBlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuaDEge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0xKTtcbn1cblxuaDIge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yKTtcbn1cblxuaDMge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zKTtcbn1cblxuaDQge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbn1cblxuaDUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS01KTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS02KTtcbn1cblxuYSB7XG4gICAgQGluY2x1ZGUgbGluaygpO1xufVxuXG51bCxcbm9sIHtcbiAgICBAaW5jbHVkZSBsaXN0KCk7XG5cbiAgICA+IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtKCk7XG4gICAgfVxufVxuXG4uaGlkZGVuLXRpdGxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG4udGV4dC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udGV4dC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50ZXh0LXVwcGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiLyoqXG4gKiBVU1BzIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvckZyb250ZW5kIGZvciBsYXlvdXQsIHRlbXBsYXRlcyBhbmQgaW1hZ2VzLlxuICogVVNQcyBjb21wb25lbnQgaXMgYmFzZWQgb24gSW1hZ2UgVGVhc2VyLlxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiR1c3BzX3NsaWRlcy1wZXItdmlldzogKFxuICAgIHBob25lOiAxLFxuICAgIHBob25lTGc6IDIsXG4gICAgdGFibGV0OiAzLFxuICAgIGxhcHRvcDogNixcbikgIWRlZmF1bHQ7XG4kdXNwc19zbGlkZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kdXNwc19tYXgtaW1hZ2Utd2lkdGg6IDgwJSAhZGVmYXVsdDtcbiR1c3BzX21heC1pbWFnZS1oZWlnaHQ6IDYuNXJlbSAhZGVmYXVsdDtcbiR1c3BzX2ltYWdlLW1hcmdpbjogMCBhdXRvIDFyZW0gIWRlZmF1bHQ7XG4kdXNwc19zaG93LWNhcm91c2VsLWFycm93czogZmFsc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31pbWFnZS10ZWFzZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgJi0tdXNwcyB7XG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgbWFyZ2luOiAkdXNwc19zbGlkZS1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGVzIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c3BzX21heC1pbWFnZS13aWR0aDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICR1c3BzX21heC1pbWFnZS1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46ICR1c3BzX2ltYWdlLW1hcmdpbjtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHVzcHNfc2hvdy1jYXJvdXNlbC1hcnJvd3MgPT0gZmFsc2Uge1xuICAgICAgICAgICAgI3skcm9vdH1fX25hdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBVU1BzIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvckZyb250ZW5kIGZvciBsYXlvdXQsIHRlbXBsYXRlcyBhbmQgaW1hZ2VzLlxuICogVVNQcyBjb21wb25lbnQgaXMgYmFzZWQgb24gSW1hZ2UgVGVhc2VyLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyLS11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHM6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA2LjVyZW07XG4gIG1hcmdpbjogMCBhdXRvIDFyZW07IH1cbiAgLmllMTEgLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqLyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi4jeyRuc312aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXNlbGVjdCB7XG4gIG1pbi13aWR0aDogMC41cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuY3Mtc2VsZWN0LS1tb2JpbGUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDQ7IH1cblxuLmNzLWh0bWwtc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAxNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgIC5jcy1odG1sLXNlbGVjdCB7XG4gICAgICBtaW4td2lkdGg6IDEycmVtOyB9IH1cbiAgLmNzLWh0bWwtc2VsZWN0Lm9wZW4ge1xuICAgIHotaW5kZXg6IDk5OyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1lcnJvciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ2NjY3O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcixcbiAgICAuY3MtaHRtbC1zZWxlY3Qub3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci10ZXh0IHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6aG92ZXI6YmVmb3JlLCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6aG92ZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlLCAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxLjdyZW07IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxLjJyZW07IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDFweCA1cHggMCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3Q6bm90KC5jcy1odG1sLXNlbGVjdC0tb3BlbikgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgaGVpZ2h0OiAyLjhlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhciwgY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLXNlbGVjdGVkIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rOmhvdmVyLCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluazpmb2N1cyxcbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS0tZm9jdXNlZCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RleHQtaW1hZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdGh1bWJuYWlsIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgbWF4LWhlaWdodDogMjIwcHg7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0IC5jcy1odG1sLXNlbGVjdF9fbWVudS1saXN0IHtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdDpub3QoLmNzLWh0bWwtc2VsZWN0LS1hbmltYXRlKSAuY3MtaHRtbC1zZWxlY3RfX21lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG5zZWxlY3QsXG4uc3VwZXItYXR0cmlidXRlLXNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW8tYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNCNkJFQzU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbiAgY29sb3I6ICM2RTZFNkU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAxMnB4OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluLnNjc3MnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWxpbmUtaGVpZ2h0OiAkZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXNlbGVjdF9jb2xvcjogJGZpZWxkX3NlbGVjdC1jb2xvciAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmc6ICRmaWVsZF9zZWxlY3QtcGFkZGluZyAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmctcmlnaHQ6ICRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5XzUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2NhcmV0LWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9jYXJldC1hY3RpdmUtY29sb3I6ICRjb2xvci1wcmltYXJ5XzUwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2l0ZW0tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfbWVudS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfbWVudS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4kaHRtbC1zZWxlY3RfaXRlbS1ib3JkZXItdG9wOiBub25lICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0taGVpZ2h0OiAyLjhlbSAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2Rpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJHNlbGVjdF9ib3gtYm9yZGVyLWNvbG9yOiAkZm9ybV9maWVsZC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vIHNlbGVjdFxuLy8gQ3VzdG9tIEhUTUwgc2VsZWN0IHZlcnNpb24gb2YgbmF0aXZlIHNlbGVjdCB3aXRoIG5hdGl2ZSBmYWxsYmFjayBvbiBtb2JpbGVzXG4vL1xuLy8gU2VlIGh0dHA6Ly93YXJwc3BpcmUuY29tL2tzcy8gZm9yIGRvY3VtZW50YXRpb24gZ3VpZGVsaW5lcy5cbi8vIFZlcnNpb24gMC4wLjFcblxuLiN7JG5zfXNlbGVjdCB7XG4gICAgbWluLXdpZHRoOiAwLjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYtLW1vYmlsZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgIH1cbn1cblxuLiN7JG5zfWh0bWwtc2VsZWN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IDE1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTJyZW07XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxM3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogJGh0bWwtc2VsZWN0X3RyaWdnZXItYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJveC1zaGFkb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRodG1sLXNlbGVjdF9kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1lcnJvciAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y0NjY2NztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1vcGVuICYsXG4gICAgICAgICN7JHJvb3R9Lm9wZW4gJiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXI6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyLXRleHQge1xuICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X3RyaWdnZXItc2VsZWN0X2NvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogJGh0bWwtc2VsZWN0X3RyaWdnZXItbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXdlaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGZvbnQtc2l6ZTogJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlci1jYXJldCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlci1jYXJldC1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJ2Fycm93JyxcbiAgICAgICAgICAgICRjb2xvcjogJGh0bWwtc2VsZWN0X2NhcmV0LWNvbG9yLFxuICAgICAgICAgICAgJGNvbG9yLWV4cGFuZGVkOiAkaHRtbC1zZWxlY3RfY2FyZXQtYWN0aXZlLWNvbG9yLFxuICAgICAgICAgICAgJHdpZHRoOiAwLjdyZW0sXG4gICAgICAgICAgICAkaGVpZ2h0OiAxcHgsXG4gICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ2Rvd24nLFxuICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJ3VwJyxcbiAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDogMS4ycmVtLFxuICAgICAgICAgICAgJGFycm93LW9mZnNldDogMS43cmVtLFxuICAgICAgICAgICAgJGFjdGl2ZS1zZWxlY3RvcjogJyN7JHJvb3R9LS1vcGVuICYnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBib3JkZXI6ICRodG1sLXNlbGVjdF9tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkaHRtbC1zZWxlY3RfbWVudS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGh0bWwtc2VsZWN0X21lbnUtYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJGh0bWwtc2VsZWN0X21lbnUtYm94LXNoYWRvdztcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gICAgICAgICN7JHJvb3R9LS1vcGVuICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWF1dG9zdWdnZXN0Om5vdCgjeyRyb290fS0tb3BlbikgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX21lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGh0bWwtc2VsZWN0X2l0ZW0tYm9yZGVyLXRvcDtcblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAgIGhlaWdodDogJGh0bWwtc2VsZWN0X2l0ZW0taGVpZ2h0O1xuICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIsIGNvbG9yIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAjeyRyb290fV9fbWVudS1pdGVtLS1zZWxlY3RlZCAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLXNlbGVjdGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAjeyRyb290fV9fbWVudS1pdGVtLS1mb2N1c2VkICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWl0ZW0tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAmX190ZXh0LWltYWdlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgICYtLWF1dG9zdWdnZXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAjeyRyb290fV9fbWVudSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19tZW51LWxpc3Qge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgjeyRyb290fS0tYW5pbWF0ZSkgI3skcm9vdH1fX21lbnUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5zZWxlY3QsXG4uc3VwZXItYXR0cmlidXRlLXNlbGVjdCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOm5vbmU7XG4gICAgLW1zLWFwcGVhcmFuY2U6bm9uZTtcbiAgICAtby1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYXBwZWFyYW5jZTpub25lO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2VsZWN0X2JveC1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gICAgY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMTJweDtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1wcm9kdWN0LW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IC00cmVtIDAgMDtcbiAgaGVpZ2h0OiA1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uLS1pbml0aWFsaXplZCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC41ZW0gMmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnksIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaCwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5OmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2g6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2g6YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAgbGluZWFyO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5OmhvdmVyOmJlZm9yZSwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnk6aG92ZXI6YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDpob3ZlcjpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDpob3ZlcjphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldjpob3ZlcjpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2hbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2hbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnk6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2g6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIC01MCUsIDApO1xuICAgICAgICByaWdodDogY2FsYyggMS41cmVtICsgMS4ycmVtIC0gMC40cmVtKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnk6YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKCAxLjVyZW0gKyAxLjJyZW0gLSAwLjRyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnlbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2hbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1zZWFyY2hbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoIDEuNXJlbSArIDEuMnJlbSAtIDAuNHJlbSk7IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLWNhdGVnb3J5OmJlZm9yZSwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tY2F0ZWdvcnk6YWZ0ZXIsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXNlYXJjaDphZnRlciwgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bzsgfVxuICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAgbGluZWFyO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQ6aG92ZXI6YmVmb3JlLCAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFOyB9XG4gICAgICAuY3MtcHJvZHVjdC1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogY2FsYyggMS41cmVtICsgMS4ycmVtIC0gMC40cmVtKTsgfVxuICAgICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluaywgLmNzLXByb2R1Y3QtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtcGRwLXByb2R1Y3QtbmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLXByb2R1Y3QtbmF2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kcHJvZHVjdC1uYXZpZ2F0aW9uX21hcmdpbjogLTRyZW0gMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2ZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGlzdC1wYWRkaW5nOiAxZW0gMCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1wYWRkaW5nOiAwLjVlbSAyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi1zaG93OiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24td2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWhlaWdodDogMXB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3I6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2R1Y3QtbmF2aWdhdGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX21hcmdpbjtcbiAgICBoZWlnaHQ6ICRwcm9kdWN0LW5hdmlnYXRpb25faGVpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LW5hdmlnYXRpb25fYm9yZGVyO1xuXG4gICAgJi0taW5pdGlhbGl6ZWQge1xuICAgICAgICAjeyRyb290fV9fbGlzdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtbmF2aWdhdGlvbl9saXN0LXBhZGRpbmc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2ZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2F0ZWdvcnksXG4gICAgICAgICYtLXNlYXJjaCxcbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICBAaWYgJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tc2hvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0aW9uLXRpbWU6IDAsXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi10eXBlXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICBAaWYgJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tc2hvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkcHJvZHVjdC1uYXZpZ2F0aW9uX2xpbmstaWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRwcm9kdWN0LW5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGlvbi10aW1lOiAwLFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1wYWdlLXBkcC1wcm9kdWN0LW5hdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcHdhLW5vdGlmaWNhdGlvbi5fc2hvdyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGF1dG87XG4gIGhlaWdodDogMTVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24uX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnJlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuLmNzLXB3YS1ub3RpZmljYXRpb25fX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwLjVyZW0gMnJlbSAxcmVtOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX19mb290ZXIge1xuICBwYWRkaW5nOiAwLjVyZW0gMnJlbSAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24gc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uICsgLm1vZGFscy1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kcHdhLW5vdGlmaWNhdGlvbl9ib3gtc2hhZG93OiAwIC0wLjNyZW0gMC41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlOiAncHJpbWFyeScgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbl9oaWRlLW1vZGFsLW92ZXJsYXk6IHRydWUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbl9oZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbi8vICRyZXZpZXdfdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfYXV0aG9yLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X2NvbnRlbnQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfZGF0ZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuLy8gJHJldmlld19tZXRhLWl0ZW0tZm9udC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbi8vICRyZXZpZXdfbWV0YS1pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuLy8gJHJldmlld19oaWRlLWNvbXBvdW5kLXJhdGluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG4uI3skbnN9cHdhLW5vdGlmaWNhdGlvbiB7XG4gICAgJi5fc2hvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHdhLW5vdGlmaWNhdGlvbl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHB3YS1ub3RpZmljYXRpb25fYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRwd2Etbm90aWZpY2F0aW9uX2hlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbSAycmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGVcbiAgICAgICAgKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkcHdhLW5vdGlmaWNhdGlvbl9oaWRlLW1vZGFsLW92ZXJsYXkgPT0gdHJ1ZSkge1xuICAgICAgICAmICsgLm1vZGFscy1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubG9hZGluZy1tYXNrIHtcbiAgICAmW2RhdGEtcm9sZT0nbWFpbi1jc3MtbG9hZGVyJ10ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cbi5zd2lwZXItY29udGFpbmVyLCAuY3MtYnJhbmQtY2Fyb3VzZWxfX3dyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyLCAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUsIC5zd2lwZXItd3JhcHBlciwgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlLCAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciwgLmNzLWJyYW5kLWNhcm91c2VsX19zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuY3MtYnJhbmQtY2Fyb3VzZWxfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuY3MtYnJhbmQtY2Fyb3VzZWxfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcsIC5jcy1icmFuZC1jYXJvdXNlbF9fc2Nyb2xsYmFyLS1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24sIC5jcy1icmFuZC1jYXJvdXNlbF9fd3JhcHBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5jcy1icmFuZC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jcy1icmFuZC1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jcy1icmFuZC1jYXJvdXNlbF9fZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDIwMTtcbiAgICB3aWR0aDogNS41cmVtO1xuICAgIGhlaWdodDogNS41cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWw6aG92ZXIgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtLWRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtLXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWJyYW5kLWNhcm91c2VsOm5vdCguY3MtYnJhbmQtY2Fyb3VzZWwtLWZ1bGwtd2lkdGgtc2xpZGVyKSAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tcHJldiB7XG4gICAgICAgICAgbGVmdDogLTIuNzVyZW07XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1icmFuZC1jYXJvdXNlbDpub3QoLmNzLWJyYW5kLWNhcm91c2VsLS1mdWxsLXdpZHRoLXNsaWRlcikgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAtMi43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWwtLXJlYWR5IC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2Om5vdCguY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tZGlzYWJsZWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXY6aG92ZXIsIC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2OmFjdGl2ZSwgLmNzLWJyYW5kLWNhcm91c2VsX19uYXY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHdpZHRoOiAyLjRyZW07XG4gICAgaGVpZ2h0OiAzLjdyZW07XG4gICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwIDA7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fcGFnaW5hdGlvbi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICB3aWR0aDogMi4ycmVtO1xuICAgIGhlaWdodDogMC45cmVtO1xuICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX3BhZ2luYXRpb24taXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGNkY2RjOyB9XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsX19wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSwgLmNzLWJyYW5kLWNhcm91c2VsX19wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVkNDAwOyB9XG4gIC5jcy1icmFuZC1jYXJvdXNlbF9fcGFnaW5hdGlvbi1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX251bWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fbnVtYmVyLS1jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsIHtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgLmNzLWJyYW5kLWNhcm91c2VsIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5jcy1icmFuZC1jYXJvdXNlbF9fY2Fyb3VzZWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWJyYW5kLWNhcm91c2VsLS1zbGlkZXIgLmNzLWJyYW5kLWNhcm91c2VsX19jYXJvdXNlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMy44cmVtOyB9IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZXMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWwtLXNsaWRlciAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAzcmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgMnJlbSAwIDA7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX3NsaWRlOmxhc3QtY2hpbGQsXG4gICAgLmNzLWJyYW5kLWNhcm91c2VsLS1zbGlkZXIgLmNzLWJyYW5kLWNhcm91c2VsX19zbGlkZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDguNXJlbTsgfVxuICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdiB7XG4gICAgei1pbmRleDogMztcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDMuNXJlbTsgfVxuICAgIC5jcy1icmFuZC1jYXJvdXNlbDpub3QoLmNzLWJyYW5kLWNhcm91c2VsLS1zbGlkZXIpIC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdjpob3ZlciwgLmNzLWJyYW5kLWNhcm91c2VsX19uYXY6YWN0aXZlLCAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi1pY29uIHtcbiAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICBoZWlnaHQ6IDIuN3JlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWJyYW5kLWNhcm91c2VsX19uYXYtaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDlweCAhaW1wb3J0YW50OyB9IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tcHJldiB7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2LS1wcmV2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fbmF2LS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAtMTBweCAhaW1wb3J0YW50OyB9IH1cbiAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDIuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgICAuY3MtYnJhbmQtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IC0xMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1icmFuZC1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsX19wYWdpbmF0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNzLWJyYW5kLWNhcm91c2VsLS1zdGF0aWMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNsaWNrLXNsaWRlciB7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cbiAgW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtMS4ycmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctbGVmdC0yQDF4LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMS4ycmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctcmlnaHRAMXguc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgd2lkdGg6IDQ0cHg7XG4gIHotaW5kZXg6IDEwMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZCxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC4yOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLFxuICAuc2xpY2stbmV4dDpob3ZlciB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXIuc2xpY2stZGlzYWJsZWQsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXIuc2xpY2stZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogLjI7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stcHJldjphZnRlcixcbiAgLnNsaWNrLW5leHQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dDphZnRlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldjphY3RpdmUsIC5zbGljay1wcmV2OmZvY3VzLCAuc2xpY2stcHJldjpub3QoLnByaW1hcnkpLFxuICAuc2xpY2stbmV4dDphY3RpdmUsXG4gIC5zbGljay1uZXh0OmZvY3VzLFxuICAuc2xpY2stbmV4dDpub3QoLnByaW1hcnkpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5zbGljay1wcmV2OmFjdGl2ZTphY3RpdmUsIC5zbGljay1wcmV2OmZvY3VzOmFjdGl2ZSwgLnNsaWNrLXByZXY6bm90KC5wcmltYXJ5KTphY3RpdmUsXG4gICAgLnNsaWNrLW5leHQ6YWN0aXZlOmFjdGl2ZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czphY3RpdmUsXG4gICAgLnNsaWNrLW5leHQ6bm90KC5wcmltYXJ5KTphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuIiwiLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cblxuXG5cbiAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICByaWdodCB0b3AsXG4gICAgICAgIGxlZnQgdG9wLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByaWdodCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGxlZnQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICBsZWZ0IHRvcCxcbiAgICAgICAgcmlnaHQgdG9wLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICBsZWZ0IGJvdHRvbSxcbiAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSxcbiAgICAgICAgdG8ocmdiYSgwLCAwLCAwLCAwKSlcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBib3R0b20sXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBib3R0b20sXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byB0b3AsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgIGxlZnQgYm90dG9tLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG9wLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG9wLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gYm90dG9tLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xufVxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAyN3B4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICByaWdodDogMTBweDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogIzAwN2FmZjtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbjogNnB4IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGxcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGVcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFja1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDElO1xuICAgIGJvdHRvbTogM3B4O1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGhlaWdodDogNXB4O1xuICAgIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDElO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHdpZHRoOiA1cHg7XG4gICAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gICAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICAgIHotaW5kZXg6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcbiAgICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gICAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tbGlzdC1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24taG9vaygpIHtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gdGVhc2VyLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zJztcblxuJGJyYW5kLWNhcm91c2VsX2Nhcm91c2VsLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kYnJhbmQtY2Fyb3VzZWxfY2Fyb3VzZWwtcGFkZGluZy0tc2xpZGVyOiAwIDMuOHJlbSAhZGVmYXVsdDtcblxuJGJyYW5kLWNhcm91c2VsX21pbi1zbGlkZS13aWR0aDogM3JlbSAhZGVmYXVsdDtcbiRicmFuZC1jYXJvdXNlbF9taW4tc2xpZGUtbWFyZ2luOiAwIDJyZW0gMCAwICFkZWZhdWx0O1xuXG4kYnJhbmQtY2Fyb3VzZWxfbWF4LWltYWdlLWhlaWdodDogOC41cmVtICFkZWZhdWx0O1xuXG4kYnJhbmQtY2Fyb3VzZWxfbmF2LWJ1dHRvbi13aWR0aDogMy41cmVtICFkZWZhdWx0O1xuJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24taGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRicmFuZC1jYXJvdXNlbF9uYXYtYnV0dG9uLS1ob3Zlci1ib3gtc2hhZG93OiAkYnJhbmQtY2Fyb3VzZWxfbmF2LWJ1dHRvbi1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYnJhbmQtY2Fyb3VzZWxfaGlkZS1uYXYtYnV0dG9ucy1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kdGVhc2VyX2hpZGUtbmF2LWJ1dHRvbnMtb24tbW9iaWxlOiAkYnJhbmQtY2Fyb3VzZWxfaGlkZS1uYXYtYnV0dG9ucy1vbi1tb2JpbGUgIWRlZmF1bHQ7XG5cbiR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aDogJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24td2lkdGggIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taGVpZ2h0OiAkYnJhbmQtY2Fyb3VzZWxfbmF2LWJ1dHRvbi1oZWlnaHQgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYm94LXNoYWRvdzogJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm94LXNoYWRvdzogJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24tLWhvdmVyLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY29tcG9uZW50LXNwYWNpbmctY29uZmlndXJhdGlvbjogMS41cmVtIDAgIWRlZmF1bHQ7XG4kdGVhc2VyX2hpZGUtbmF2LWJ1dHRvbnMtb24tbW9iaWxlOiBmYWxzZSAhZGVmYXVsdDtcblxuLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWx7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi4jeyRuc31icmFuZC1jYXJvdXNlbCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSB0ZWFzZXIoKTtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgJl9fY2Fyb3VzZWwge1xuICAgICAgICBwYWRkaW5nOiAkYnJhbmQtY2Fyb3VzZWxfY2Fyb3VzZWwtcGFkZGluZztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fS0tc2xpZGVyICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRicmFuZC1jYXJvdXNlbF9jYXJvdXNlbC1wYWRkaW5nLS1zbGlkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAjeyRyb290fS0tc2xpZGVyICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBtaW4td2lkdGg6ICRicmFuZC1jYXJvdXNlbF9taW4tc2xpZGUtd2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogJGJyYW5kLWNhcm91c2VsX21pbi1zbGlkZS1tYXJnaW47XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgICAjeyRyb290fS0tc2xpZGVyICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkYnJhbmQtY2Fyb3VzZWxfbWF4LWltYWdlLWhlaWdodDtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkYnJhbmQtY2Fyb3VzZWxfbmF2LWJ1dHRvbi13aWR0aDtcbiAgICAgICAgLy8gRG8gbm90IGRpc3BsYXkgbmF2aWdhdGlvbiwgd2hlbiB0ZWFzZXIgZGVzdHJveWVkIG9uIHJlc2l6ZS5cbiAgICAgICAgI3skcm9vdH06bm90KCN7JHJvb3R9LS1zbGlkZXIpICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJyYW5kLWNhcm91c2VsX25hdi1idXR0b24tYm94LXNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogLTEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RhdGljIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6ICRicmFuZC1jYXJvdXNlbF9jYXJvdXNlbC1wYWRkaW5nO1xuICAgIH1cbn1cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zbGljay1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuXG4uc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMS4ycmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Fycm93LWxlZnQtMkAxeC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTEuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9hcnJvdy1yaWdodEAxeC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgei1pbmRleDogMTAxO1xuXG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IC4yO1xuICAgIH1cblxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoLnByaW1hcnkpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBjcy1zd2lwZXJcbi8vIEJhc2UgY29uZmlndXJhdGlvbiBmb3IgYWxsIGNhcm91c2VscyB1c2VkIGluIG91ciBwcm9qZWN0c1xuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5AaW1wb3J0ICd2ZW5kb3JzL3N3aXBlcic7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvY29udHJhc3Qtb3B0aW1pemVycy9ncmFkaWVudCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMvY29udHJhc3Qtb3B0aW1pemVycy90ZXh0LXNoYWRvdyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9ob29rcyc7XG5cbkBtaXhpbiB0ZWFzZXIge1xuICAgICRyb290OiAmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAZXh0ZW5kIC5zd2lwZXItY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci13cmFwcGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cblxuICAgICZfX3Njcm9sbGJhciB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci1zY3JvbGxiYXI7XG5cbiAgICAgICAgJi0tZHJhZyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5zd2lwZXItc2Nyb2xsYmFyLWRyYWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci1zbGlkZTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246ICR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbjtcbiAgICAgICAgdG9wOiAkdGVhc2VyX25hdi1idXR0b24tcG9zaXRpb24tdG9wO1xuICAgICAgICB0cmFuc2Zvcm06ICR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246ICR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2l0aW9uO1xuICAgICAgICB6LWluZGV4OiAkdGVhc2VyX25hdi1idXR0b24tei1pbmRleDtcbiAgICAgICAgd2lkdGg6ICR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkdGVhc2VyX25hdi1idXR0b24taGVpZ2h0O1xuICAgICAgICBib3JkZXI6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX25hdi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJHRlYXNlcl9uYXYtYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgICAgIHBhZGRpbmc6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH06aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiAkdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtZGlzcGxheTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAkdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1wb3NpdGlvbjtcblxuICAgICAgICAgICAgQGlmICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1icmVha3BvaW50ICE9ICcnIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fTpub3QoI3skcm9vdH0tLWZ1bGwtd2lkdGgtc2xpZGVyKSAmIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1icmVha3BvaW50fVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uO1xuXG4gICAgICAgICAgICBAaWYgJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnQgIT0gJycge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0tZnVsbC13aWR0aC1zbGlkZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnR9XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KCYtLWRpc2FibGVkKSB7XG4gICAgICAgICAgICAjeyRyb290fS0tcmVhZHkgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1ib3gtc2hhZG93O1xuXG4gICAgICAgICAgICBAaWYgJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1hZGRpdGlvbmFsLXRyYW5zZm9ybSAhPSAnJyB7XG4gICAgICAgICAgICAgICAgJjpub3QoJi0tZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAkdGVhc2VyX25hdi1idXR0b24tdHJhbnNmb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWFkZGl0aW9uYWwtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkdGVhc2VyX2hpZGUtbmF2LWJ1dHRvbnMtb24tbW9iaWxlID09IHRydWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHdpZHRoOiAkdGVhc2VyX25hdi1idXR0b24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1oZWlnaHQ7XG4gICAgICAgIGZpbGw6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1jb2xvciAhPVxuICAgICAgICAgICAgJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yXG4gICAgICAgIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19uYXY6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3QoKTtcbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1pdGVtKCk7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbi1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24oKTtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgICBmb250LXdlaWdodDogJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlcnMtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRlYXNlci1ob29rKCk7XG59XG4iLCJAaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9ob29rcy9wYWdpbmF0aW9uLnNjc3MnO1xuXG4vLyBOYXYgYnV0dG9uc1xuJHRlYXNlcl9oaWRlLW5hdi1idXR0b25zLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tcG9zaXRpb24tdG9wOiA1MCUgIWRlZmF1bHQ7IC8vIDJyZW0gcmVjb21wZW5zZXMgaGVpZ2h0IG9mIHRoZSBidWxsZXQtcGFnaW5hdGlvblxuJHRlYXNlcl9uYXYtYnV0dG9uLXotaW5kZXg6IDIwMSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24td2lkdGg6IDUuNXJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1oZWlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAyICogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWRpc2FibGVkLWRpc3BsYXk6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnQ6ICc+PWxhcHRvcExnJyAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLW9mZnNldC1kZXNrdG9wOiAtI3skdGVhc2VyX25hdi1idXR0b24td2lkdGggLyAyfSAhZGVmYXVsdDtcbi8vIEhvdmVyXG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJvcmRlcjogJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlciAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYmFja2dyb3VuZDogJHRlYXNlcl9uYXYtYnV0dG9uLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWFkZGl0aW9uYWwtdHJhbnNmb3JtOiAnJyAhZGVmYXVsdDtcblxuLy8gTmF2IGJ1dHRvbnMgaWNvbnNcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLXdpZHRoOiAyLjRyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taWNvbi1oZWlnaHQ6IDMuN3JlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4vLyBIb3ZlclxuJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tLWhvdmVyLWNvbG9yOiAkdGVhc2VyX25hdi1idXR0b24taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuLy8gRnJhY3Rpb24gcGFnaW5hdGlvbiAobnVtYmVyIHBhZ2luYXRpb24pXG4kdGVhc2VyX3BhZ2luYXRpb24tbnVtYmVycy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLW51bWJlci0tY3VycmVudC1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uIGxpc3RcbiR0ZWFzZXJfcGFnaW5hdGlvbi1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tcGFkZGluZzogMC41cmVtIDAgMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1taW4taGVpZ2h0OiAzcmVtICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0OyAvLyB1c2VkIGZvciBcImZyYWN0aW9uXCIgcGFnaW5hdGlvbiAobnVtYmVycylcbiR0ZWFzZXJfcGFnaW5hdGlvbi16LWluZGV4OiAyMDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgbWFyZ2luOiAkdGVhc2VyX3BhZ2luYXRpb24tbWFyZ2luO1xuICAgIHBhZGRpbmc6ICR0ZWFzZXJfcGFnaW5hdGlvbi1wYWRkaW5nO1xuICAgIG1pbi1oZWlnaHQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1taW4taGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogJHRlYXNlcl9wYWdpbmF0aW9uLWp1c3RpZnktY29udGVudDtcbiAgICBhbGlnbi1pdGVtczogJHRlYXNlcl9wYWdpbmF0aW9uLWFsaWduLWl0ZW1zO1xuICAgIGNvbG9yOiAkdGVhc2VyX3BhZ2luYXRpb24tdGV4dC1jb2xvcjtcbiAgICB6LWluZGV4OiAkdGVhc2VyX3BhZ2luYXRpb24tei1pbmRleDtcblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tbGlzdC1ob29rKCk7XG59XG5cbi8vIFBhZ2luYXRpb24gaXRlbVxuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tbWFyZ2luOiAwLjRyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXdpZHRoOiAyLjJyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1oZWlnaHQ6IDAuOXJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zaXRpb246IGFsbCAwLjE1cyAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfYWx0byAhZGVmYXVsdDtcblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLW1hcmdpbjtcbiAgICBib3JkZXItcmFkaXVzOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQ7XG4gICAgd2lkdGg6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0taGVpZ2h0O1xuICAgIHRyYW5zZm9ybTogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tdHJhbnNmb3JtO1xuICAgIGJvcmRlcjogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLXRyYW5zaXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbS1ob29rKCk7XG59XG5cbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yX2dvbGQgIWRlZmF1bHQ7XG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICAmLFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlLWhvb2soKTtcbn1cblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uLWhvb2soKTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEZsZXggR3JpZCAtXG4gKiBWZXJzaW9uOiAwLjMuNVxuICpcbiAqIFNpbXBsZSBncmlkIGJ1aWx0IHdpdGggZmxleCBib3ggYW5kIHNhc3MuXG4gKlxuICogTWF0dGhldyBTaW1vIC0gbWF0dGhldy5hLnNpbW9AZ21haWwuY29tXG4gKi9cbi8qKlxuICogR3JpZCBzZXR1cFxuICpcbiAqIFRoZSBncmlkIHdpbGwgY2FsY3VsYXRlIGRpbWVuc2lvbnMgYmFzZWQgb24gdGhlc2UgdHdvIHZhcmlhYmxlczpcbiAqICRmZy1jb2x1bW5zIHdpbGwgaW5mb3JtIHRoZSBncmlkIGxvb3BzIGhvdyBtYW55IGNvbHVtbnMgdGhlcmUgc2hvdWxkIGJlLlxuICogJGZnLWd1dHRlciB3aWxsIGluZm9ybSB0aGUgZ3JpZCBsb29wcyBob3cgYmlnIGVhYyBjb2x1bW4ncyBndXR0ZXJzIHNob3VsZCBiZS5cbiAqXG4gKiBUaGUgZ3JpZCB3aWxsIG5hbWUgY29sdW1ucywgcm93cywgb2Zmc2V0cyBiYXNlZCBvbiB0aGVzZSB0aHJlZSB2YXJpYWJsZXM6XG4gKiAkZmctY2xhc3Mtcm93IHN0cmluZyB1c2VkIGZvciB0aGUgcm93IGNsYXNzXG4gKiAkZmctY2xhc3MtY29sIHN0cmluZyB1c2VkIGZvciB0aGUgY29sdW1uIGNsYXNzXG4gKiAkZmctY2xhc3Mtb2ZmIHN0cmluZyB1c2VkIGZvciB0aGUgb2Zmc2V0IGNsYXNzXG4gKi9cbi8qKlxuICogQnJlYWsgcG9pbnQgbmFtZXNwYWNlIG9iamVjdFxuICpcbiAqIFNldCB0aGUgZGVmYXVsdCBuYW1lc3BhY2Ugb2JqZWN0IHdpdGggdGhlc2UgZGVmYXVsdHMgd2l0aCB0aGVcbiAqIHVuZGVyc3RhbmRpbmcgdGhhdCB5b3UgY2FuIHBhc3MgaW4gd2hhdGV2ZXIgeW91IG1pZ2h0IHJlcXVpcmUgZm9yIHlvdXIgc2l0ZS5cbiAqXG4gKiAkZmctYnJlYWtwb2ludHMgaXMgYSBTYXNzIGxpc3Qgd2l0aCBuZXN0ZWQgbGlzdHMgaW5zaWRlLiBFYWNoIHN1YiBsaXN0IGRlZmluZXMgdHdvIHRoaW5ncy5cbiAqIDEuIFRoZSBuYW1lc3BhY2UgZm9yIHRoYXQgYnJlYWtwb2ludC4gKFJlcXVpcmVkKSAoaS5lLiB4cywgc20sIG1kLCBsZylcbiAqIDIuIFRoZSBtaW4td2lkdGggbWVhc3VyZW1lbnQgZm9yIHRoZSBicmVha3BvaW50IGZvciB0aGF0IG5hbWVzcGFjZS4gKGkuZS4gNDhlbSwgNjJlbSwgNzVlbSlcbiAqXG4gKiBOb3RlOiBUaGVzZSBzaG91bGQgYmUgaW4gdGhlIHByb3BlciBvcmRlciAoYXQgbGVhc3QgdGlsbCBsaWJzYXNzIGhhbmRsZXMgbWFwIGtleXMgcHJvcGVybHkpLlxuICpcbiAqIE5vdGU6IElmIHRoZSBtZWFzdXJlbWVudCBpcyBsZWZ0IG91dCB0aGVuIGl0IHdpbGwgYmUgc2tpcHBlZCB3aGVuIGdlbmVyYXRpbmdcbiAqIHRoZSBncmlkIGFuZCBhcHBsaWVkIHRvIGdsb2JhbCBzdHlsZXMuXG4gKlxuICovXG4vKipcbiAqIENsYXNzIE5hbWUgRGVmYXVsdHNcbiAqXG4gKiBEZWZpbmUgY2xhc3MgbmFtZXMgZm9yIGNvbHVtbnMsIHJvd3MgYW5kIG9mZnNldHMgaW4gY2FzZSBjb21wYXRpYmlsaXR5IHdpdGggb3RoZXJcbiAqIGxpYnJhcmllcyBpcyBuZWNlc3NhcnkuXG4vKipcbiAqIENhbGN1bGF0ZSBjb2x1bW4gc2l6ZSBwZXJjZW50YWdlXG4gKi9cbi8qKlxuICogU3BhY2luZyBtaXhpbiB0byBjcmVhdGUgdW5pZm9ybSBtYXJnaW4vcGFkZGluZ1xuICovXG4vKipcbiAqIFJvdyB3cmFwcGVyIGNsYXNzLCBmbGV4IGJveCBwYXJlbnQuXG4gKi9cbi5yb3ctZmxleCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xLjFyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuMXJlbTsgfVxuXG4uY29sLWZsZXgteHMsIC5jb2wtZmxleC1zbSwgLmNvbC1mbGV4LW1kLCAuY29sLWZsZXgtbGcsIC5jb2wtZmxleC14cy0xLCAuY29sLWZsZXgteHMtMiwgLmNvbC1mbGV4LXhzLTMsIC5jb2wtZmxleC14cy00LCAuY29sLWZsZXgteHMtNSwgLmNvbC1mbGV4LXhzLTYsIC5jb2wtZmxleC14cy03LCAuY29sLWZsZXgteHMtOCwgLmNvbC1mbGV4LXhzLTksIC5jb2wtZmxleC14cy0xMCwgLmNvbC1mbGV4LXhzLTExLCAuY29sLWZsZXgteHMtMTIsIC5jb2wtZmxleC1zbS0xLCAuY29sLWZsZXgtc20tMiwgLmNvbC1mbGV4LXNtLTMsIC5jb2wtZmxleC1zbS00LCAuY29sLWZsZXgtc20tNSwgLmNvbC1mbGV4LXNtLTYsIC5jb2wtZmxleC1zbS03LCAuY29sLWZsZXgtc20tOCwgLmNvbC1mbGV4LXNtLTksIC5jb2wtZmxleC1zbS0xMCwgLmNvbC1mbGV4LXNtLTExLCAuY29sLWZsZXgtc20tMTIsIC5jb2wtZmxleC1tZC0xLCAuY29sLWZsZXgtbWQtMiwgLmNvbC1mbGV4LW1kLTMsIC5jb2wtZmxleC1tZC00LCAuY29sLWZsZXgtbWQtNSwgLmNvbC1mbGV4LW1kLTYsIC5jb2wtZmxleC1tZC03LCAuY29sLWZsZXgtbWQtOCwgLmNvbC1mbGV4LW1kLTksIC5jb2wtZmxleC1tZC0xMCwgLmNvbC1mbGV4LW1kLTExLCAuY29sLWZsZXgtbWQtMTIsIC5jb2wtZmxleC1sZy0xLCAuY29sLWZsZXgtbGctMiwgLmNvbC1mbGV4LWxnLTMsIC5jb2wtZmxleC1sZy00LCAuY29sLWZsZXgtbGctNSwgLmNvbC1mbGV4LWxnLTYsIC5jb2wtZmxleC1sZy03LCAuY29sLWZsZXgtbGctOCwgLmNvbC1mbGV4LWxnLTksIC5jb2wtZmxleC1sZy0xMCwgLmNvbC1mbGV4LWxnLTExLCAuY29sLWZsZXgtbGctMTIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMS4xcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjFyZW07IH1cblxuLmNvbC1mbGV4LXhzLCAuY29sLWZsZXgtc20sIC5jb2wtZmxleC1tZCwgLmNvbC1mbGV4LWxnIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHNldCBvZiBncmlkIGNvbHVtbiBjbGFzc2VzIHVzaW5nIGEgbmFtZXNwYWNlXG4gKlxuICogLmNvbC1mbGV4LVtuYW1lc3BhY2VdIGZvciBpbnRlbGxpZ2VudCBjb2x1bW4gZGl2aXNpb25cbiAqIC5jb2wtZmxleC1bbmFtZXNwYWNlXS1bbnVtYmVyXSBmb3IgYSBjb2x1bW4gdGhhdCBjb3ZlcnMgYSBzcGVjaWZpYyBudW1iZXIgb2YgY29sdW1ucyAoZS5nLiAxLTEyIGJ5IGRlZmF1bHQpXG4gKiAub2ZmLVtuYW1lc3BhY2VdLVtudW1iZXJdIGZvciBwdXNoaW5nIGEgY29sIGEgc3BlY2lmaWMgbnVtYmVyIG9mIGNvbHVtbnMgKGUuZy4gMS0xMSBieSBkZWZhdWx0KVxuICogLm9mZi1bbmFtZXNwYWNlXS1yZXNldCBmb3IgcmVzZXR0aW5nIGEgY29sJ3Mgb2Zmc2V0IGZvciB0aGF0IGFuZCBsYXJnZXIgbmFtZXNwYWNlc1xuICovXG4vKipcbiAqIEJ1aWxkIHRoZSBncmlkIGluIHR3byBzdGVwcywgdG8gaGVscCBtaW5pbWl6ZSBmaWxlIHNpemVcbiAqIFN0ZXAgMSwgZm9yIGVhY2ggbmFtZXNwYWNlLCBjcmVhdGUgdGhlIGdyaWQtYmFzZVxuICogU3RlcCAyLCBmb3IgZWFjaCBuYW1lc3BhY2UsIHdyYXAgdGhlIGNvbCB3aWR0aC9vZmZzZXQgbWVhc3VyZW1lbnRzIGluIHRoZWlyIGJyZWFrcG9pbnQgbWVkaWEgcXVlcnlcbiAqL1xuLmNvbC1mbGV4LXhzLTEge1xuICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uY29sLWZsZXgteHMtMiB7XG4gIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC1mbGV4LXhzLTMge1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5jb2wtZmxleC14cy00IHtcbiAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uY29sLWZsZXgteHMtNSB7XG4gIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC1mbGV4LXhzLTYge1xuICBmbGV4LWJhc2lzOiA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5jb2wtZmxleC14cy03IHtcbiAgZmxleC1iYXNpczogNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uY29sLWZsZXgteHMtOCB7XG4gIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC1mbGV4LXhzLTkge1xuICBmbGV4LWJhc2lzOiA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5jb2wtZmxleC14cy0xMCB7XG4gIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmNvbC1mbGV4LXhzLTExIHtcbiAgZmxleC1iYXNpczogOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLWZsZXgteHMtMTIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm9mZi14cy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5vZmYteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLm9mZi14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4ub2ZmLXhzLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5vZmYteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLm9mZi14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4ub2ZmLXhzLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5vZmYteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLm9mZi14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4ub2ZmLXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ub2ZmLXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4ub2ZmLXhzLXJlc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLWZsZXgtc20tMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLWZsZXgtc20tMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtZmxleC1zbS0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1mbGV4LXNtLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLWZsZXgtc20tNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtZmxleC1zbS02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1mbGV4LXNtLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLWZsZXgtc20tOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtZmxleC1zbS05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1mbGV4LXNtLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1mbGV4LXNtLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1mbGV4LXNtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAub2ZmLXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2ZmLXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZi1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmYtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2ZmLXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZi1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmYtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2ZmLXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZi1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmYtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZi1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAub2ZmLXNtLXJlc2V0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2wtZmxleC1tZC0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtZmxleC1tZC0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1mbGV4LW1kLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLWZsZXgtbWQtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtZmxleC1tZC01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1mbGV4LW1kLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLWZsZXgtbWQtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtZmxleC1tZC04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1mbGV4LW1kLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLWZsZXgtbWQtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLWZsZXgtbWQtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLWZsZXgtbWQtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5vZmYtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmYtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2ZmLW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZi1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmYtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2ZmLW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZi1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmYtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2ZmLW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZi1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2ZmLW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5vZmYtbWQtcmVzZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmNvbC1mbGV4LWxnLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1mbGV4LWxnLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLWZsZXgtbGctMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtZmxleC1sZy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1mbGV4LWxnLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLWZsZXgtbGctNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtZmxleC1sZy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1mbGV4LWxnLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLWZsZXgtbGctOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtZmxleC1sZy0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtZmxleC1sZy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtZmxleC1sZy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm9mZi1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZi1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmYtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2ZmLWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZi1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmYtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2ZmLWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZi1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmYtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2ZmLWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmYtbGctMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm9mZi1sZy1yZXNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDExcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbiwgLmNzLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uICosIC5jcy1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jcy1idXR0b25fX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbl9faWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtOyB9XG5cbi5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIG1hcmdpbjogMCAwIDNyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudCAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idXR0b24tY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX3NwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19hbW91bnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogMTFweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnkgKiwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAuYnV0dG9uLnByaW1hcnkubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnk6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5ICosIC5idXR0b24ucHJpbWFyeTp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5idXR0b24ucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5idXR0b24ucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24ucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5idXR0b24tc20ge1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4uaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQsIC5jcy1jYXRlZ29yeS1saW5rc19faGVhZGxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQ6YWZ0ZXIsIC5jcy1jYXRlZ29yeS1saW5rc19faGVhZGxpbmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd0AxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5pY29uX19hcnJvdy1yb3VuZC1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmljb25fX2Fycm93LXJvdW5kLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3dsZWZ0QDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5saW5rcy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAubGlua3MtbGlzdDpub3QoLnNsaWNrLWluaXRpYWxpemVkKSAubGlua3MtbGlzdF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmxpbmtzLWxpc3RfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua3MtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5saW5rcy1saXN0X19saW5rIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHBhZGRpbmc6IDIxcHggMTBweCAxMnB4OyB9XG4gICAgLmxpbmtzLWxpc3RfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua3MtbGlzdF9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5rcy1saXN0X19saW5rOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWNhdGVnb3J5LWxpbmtzX19maWd1cmUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuXG4uY3MtY2F0ZWdvcnktbGlua3NfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAuY3MtY2F0ZWdvcnktbGlua3NfX2l0ZW0gPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19pbWFnZS1wbGFjZWhvbGRlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogOTUlOyB9XG4gIC5jcy1jYXRlZ29yeS1saW5rc19faW1hZ2UtcGxhY2Vob2xkZXItd3JhcHBlciBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgbWFyZ2luOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY3MtY2F0ZWdvcnktbGlua3NfX2hlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4OyB9XG4gICAgICAuY3MtY2F0ZWdvcnktbGlua3NfX2hlYWRsaW5lOmFmdGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7IH0gfVxuXG4uY3MtY2F0ZWdvcnktbGlua3NfX21haW4td2lkZ2V0IC5yb3ctZmxleCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jcy1jYXRlZ29yeS1saW5rc19fbWFpbi13aWRnZXQgLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXRzIHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuICAuY3MtY2F0ZWdvcnktbGlua3NfX21haW4td2lkZ2V0IC5jcy1jYXRlZ29yeS1saW5rc19fc3ViY2F0cyBsaSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzX19tYWluLXdpZGdldCAuY3MtY2F0ZWdvcnktbGlua3NfX3N1YmNhdHMgbGk6bnRoLWNoaWxkKGV2ZW4pIGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzX19tYWluLXdpZGdldCAuY3MtY2F0ZWdvcnktbGlua3NfX3N1YmNhdHMgbGkgYSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTFweCAxMHB4IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWNhdGVnb3J5LWxpbmtzX19tYWluLXdpZGdldCAuY3MtY2F0ZWdvcnktbGlua3NfX3N1YmNhdHMgbGkgYSB7XG4gICAgICAgICAgcGFkZGluZzogNnB4OyB9IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQuZW1wdHkgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMTBweDtcbiAgbWluLWhlaWdodDogNDFweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQuZW1wdHk6bnRoLWNoaWxkKGV2ZW4pIHNwYW4ge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQtbGFiZWwge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLmNzLWNhdGVnb3J5LWxpbmtzLS1uby1zdWJjYXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5jcy1jYXRlZ29yeS1saW5rc19fbGFuZGluZy1ibG9jayAuY3MtY2F0ZWdvcnktbGlua3NfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY3MtY2F0ZWdvcnktbGlua3NfX2xhbmRpbmctYmxvY2sgLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY3MtY2F0ZWdvcnktbGlua3NfX2xhbmRpbmctYmxvY2sgLmNzLWNhdGVnb3J5LWxpbmtzX19zdWJjYXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG5cbi5jcy1jYXRlZ29yeS1saW5rc19fbGFuZGluZy1ibG9jayAuY3MtY2F0ZWdvcnktbGlua3NfX2ltYWdlLXBsYWNlaG9sZGVyLXdyYXBwZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNTklOyB9XG5cbi5jcy1jYXRlZ29yeS1saW5rc19fbGFuZGluZy1ibG9jayAuY3MtY2F0ZWdvcnktbGlua3NfX3N1YmNhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBsZXR0ZXItc3BhY2luZzogMC41OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzX19sYW5kaW5nLWJsb2NrIC5jcy1jYXRlZ29yeS1saW5rc19fc3ViY2F0LWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNzLWNhdGVnb3J5LWxpbmtzX19sYW5kaW5nLWJsb2NrIC5jcy1jYXRlZ29yeS1saW5rc19fY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbi8qKlxuICogRmxleCBHcmlkIC1cbiAqIFZlcnNpb246IDAuMy41XG4gKlxuICogU2ltcGxlIGdyaWQgYnVpbHQgd2l0aCBmbGV4IGJveCBhbmQgc2Fzcy5cbiAqXG4gKiBNYXR0aGV3IFNpbW8gLSBtYXR0aGV3LmEuc2ltb0BnbWFpbC5jb21cbiAqL1xuXG4vKipcbiAqIEdyaWQgc2V0dXBcbiAqXG4gKiBUaGUgZ3JpZCB3aWxsIGNhbGN1bGF0ZSBkaW1lbnNpb25zIGJhc2VkIG9uIHRoZXNlIHR3byB2YXJpYWJsZXM6XG4gKiAkZmctY29sdW1ucyB3aWxsIGluZm9ybSB0aGUgZ3JpZCBsb29wcyBob3cgbWFueSBjb2x1bW5zIHRoZXJlIHNob3VsZCBiZS5cbiAqICRmZy1ndXR0ZXIgd2lsbCBpbmZvcm0gdGhlIGdyaWQgbG9vcHMgaG93IGJpZyBlYWMgY29sdW1uJ3MgZ3V0dGVycyBzaG91bGQgYmUuXG4gKlxuICogVGhlIGdyaWQgd2lsbCBuYW1lIGNvbHVtbnMsIHJvd3MsIG9mZnNldHMgYmFzZWQgb24gdGhlc2UgdGhyZWUgdmFyaWFibGVzOlxuICogJGZnLWNsYXNzLXJvdyBzdHJpbmcgdXNlZCBmb3IgdGhlIHJvdyBjbGFzc1xuICogJGZnLWNsYXNzLWNvbCBzdHJpbmcgdXNlZCBmb3IgdGhlIGNvbHVtbiBjbGFzc1xuICogJGZnLWNsYXNzLW9mZiBzdHJpbmcgdXNlZCBmb3IgdGhlIG9mZnNldCBjbGFzc1xuICovXG4kZmctY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZmctZ3V0dGVyOiAxLjFyZW0gIWRlZmF1bHQ7XG5cbiRmZy1jbGFzcy1yb3c6ICdyb3cnICFkZWZhdWx0O1xuJGZnLWNsYXNzLWNvbDogJ2NvbC1mbGV4JyAhZGVmYXVsdDtcbiRmZy1jbGFzcy1vZmY6ICdvZmYnICFkZWZhdWx0O1xuXG5cblxuLyoqXG4gKiBCcmVhayBwb2ludCBuYW1lc3BhY2Ugb2JqZWN0XG4gKlxuICogU2V0IHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBvYmplY3Qgd2l0aCB0aGVzZSBkZWZhdWx0cyB3aXRoIHRoZVxuICogdW5kZXJzdGFuZGluZyB0aGF0IHlvdSBjYW4gcGFzcyBpbiB3aGF0ZXZlciB5b3UgbWlnaHQgcmVxdWlyZSBmb3IgeW91ciBzaXRlLlxuICpcbiAqICRmZy1icmVha3BvaW50cyBpcyBhIFNhc3MgbGlzdCB3aXRoIG5lc3RlZCBsaXN0cyBpbnNpZGUuIEVhY2ggc3ViIGxpc3QgZGVmaW5lcyB0d28gdGhpbmdzLlxuICogMS4gVGhlIG5hbWVzcGFjZSBmb3IgdGhhdCBicmVha3BvaW50LiAoUmVxdWlyZWQpIChpLmUuIHhzLCBzbSwgbWQsIGxnKVxuICogMi4gVGhlIG1pbi13aWR0aCBtZWFzdXJlbWVudCBmb3IgdGhlIGJyZWFrcG9pbnQgZm9yIHRoYXQgbmFtZXNwYWNlLiAoaS5lLiA0OGVtLCA2MmVtLCA3NWVtKVxuICpcbiAqIE5vdGU6IFRoZXNlIHNob3VsZCBiZSBpbiB0aGUgcHJvcGVyIG9yZGVyIChhdCBsZWFzdCB0aWxsIGxpYnNhc3MgaGFuZGxlcyBtYXAga2V5cyBwcm9wZXJseSkuXG4gKlxuICogTm90ZTogSWYgdGhlIG1lYXN1cmVtZW50IGlzIGxlZnQgb3V0IHRoZW4gaXQgd2lsbCBiZSBza2lwcGVkIHdoZW4gZ2VuZXJhdGluZ1xuICogdGhlIGdyaWQgYW5kIGFwcGxpZWQgdG8gZ2xvYmFsIHN0eWxlcy5cbiAqXG4gKi9cbiRmZy1icmVha3BvaW50czogKFxuICAgICAgICAoeHMpLFxuICAgICAgICAoc20sIDc2OHB4KSxcbiAgICAgICAgKG1kLCAxMDI0cHgpLFxuICAgICAgICAobGcsIDEyODBweClcbikgIWRlZmF1bHQ7XG5cbi8qKlxuICogQ2xhc3MgTmFtZSBEZWZhdWx0c1xuICpcbiAqIERlZmluZSBjbGFzcyBuYW1lcyBmb3IgY29sdW1ucywgcm93cyBhbmQgb2Zmc2V0cyBpbiBjYXNlIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlclxuICogbGlicmFyaWVzIGlzIG5lY2Vzc2FyeS5cbi8qKlxuICogQ2FsY3VsYXRlIGNvbHVtbiBzaXplIHBlcmNlbnRhZ2VcbiAqL1xuQGZ1bmN0aW9uIGdldC1jb2wtcGVyY2VudCgkY29sdW1uLW51bSkge1xuXG4gICAgQHJldHVybiAkY29sdW1uLW51bSAvICRmZy1jb2x1bW5zICogMTAwJTtcblxufVxuXG4vKipcbiAqIFNwYWNpbmcgbWl4aW4gdG8gY3JlYXRlIHVuaWZvcm0gbWFyZ2luL3BhZGRpbmdcbiAqL1xuQG1peGluIHNwYWNpbmcoICR2YWx1ZSwgJHR5cGU6IG1hcmdpbiwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCApIHtcbiAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgI3sgJHR5cGUgfS10b3A6ICR2YWx1ZTtcbiAgICAgICAgI3sgJHR5cGUgfS1ib3R0b206ICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgI3sgJHR5cGUgfS1sZWZ0OiAkdmFsdWU7XG4gICAgICAgICN7ICR0eXBlIH0tcmlnaHQ6ICR2YWx1ZTtcbiAgICB9XG59XG5cbi8qKlxuICogUm93IHdyYXBwZXIgY2xhc3MsIGZsZXggYm94IHBhcmVudC5cbiAqL1xuLiN7ICRmZy1jbGFzcy1yb3cgfS1mbGV4IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgQGluY2x1ZGUgc3BhY2luZyggKCAtJGZnLWd1dHRlciApLCBtYXJnaW4sIGhvcml6b250YWwgKTtcbn1cblxuXG4lI3sgJGZnLWNsYXNzLWNvbCB9IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIEBpbmNsdWRlIHNwYWNpbmcoICggJGZnLWd1dHRlciApLCBwYWRkaW5nLCBob3Jpem9udGFsICk7XG59XG5cbiUjeyAkZmctY2xhc3MtY29sIH0tZmxleCB7XG4gICAgQGV4dGVuZCAlI3sgJGZnLWNsYXNzLWNvbCB9O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKipcbiAqIEdlbmVyYXRlIGEgc2V0IG9mIGdyaWQgY29sdW1uIGNsYXNzZXMgdXNpbmcgYSBuYW1lc3BhY2VcbiAqXG4gKiAuI3sgJGZnLWNsYXNzLWNvbCB9LVtuYW1lc3BhY2VdIGZvciBpbnRlbGxpZ2VudCBjb2x1bW4gZGl2aXNpb25cbiAqIC4jeyAkZmctY2xhc3MtY29sIH0tW25hbWVzcGFjZV0tW251bWJlcl0gZm9yIGEgY29sdW1uIHRoYXQgY292ZXJzIGEgc3BlY2lmaWMgbnVtYmVyIG9mIGNvbHVtbnMgKGUuZy4gMS0xMiBieSBkZWZhdWx0KVxuICogLiN7ICRmZy1jbGFzcy1vZmYgfS1bbmFtZXNwYWNlXS1bbnVtYmVyXSBmb3IgcHVzaGluZyBhIGNvbCBhIHNwZWNpZmljIG51bWJlciBvZiBjb2x1bW5zIChlLmcuIDEtMTEgYnkgZGVmYXVsdClcbiAqIC4jeyAkZmctY2xhc3Mtb2ZmIH0tW25hbWVzcGFjZV0tcmVzZXQgZm9yIHJlc2V0dGluZyBhIGNvbCdzIG9mZnNldCBmb3IgdGhhdCBhbmQgbGFyZ2VyIG5hbWVzcGFjZXNcbiAqL1xuXG5AbWl4aW4gZ3JpZC1iYXNlKCAkbmFtZXNwYWNlICkge1xuICAgIC4jeyAkZmctY2xhc3MtY29sIH0tI3skbmFtZXNwYWNlfSB7XG4gICAgICAgIEBleHRlbmQgJSN7ICRmZy1jbGFzcy1jb2wgfS1mbGV4O1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZnLWNvbHVtbnMge1xuICAgICAgICAuI3sgJGZnLWNsYXNzLWNvbCB9LSN7JG5hbWVzcGFjZX0tI3skaX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlI3sgJGZnLWNsYXNzLWNvbCB9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZ3JpZC1zaXplcyggJG5hbWVzcGFjZSApIHtcblxuICAgIC8vIFJ1biB0aGUgbG9vcCBmb3IgYXMgbWFueSBjb2x1bW5zIGFzIHNwZWZpY2llZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZnLWNvbHVtbnMge1xuICAgICAgICAuI3sgJGZnLWNsYXNzLWNvbCB9LSN7JG5hbWVzcGFjZX0tI3skaX0ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogZ2V0LWNvbC1wZXJjZW50KCRpKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogIGdldC1jb2wtcGVyY2VudCgkaSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmZy1jb2x1bW5zIHtcblxuICAgICAgICAvLyBEb24ndCBpbmNsdWRlIHRoZSAub2ZmIGNsYXNzIGZvciB0aGUgbGFzdCBjb2x1bW5cbiAgICAgICAgQGlmICggJGkgIT0gJGZnLWNvbHVtbnMgKSB7XG4gICAgICAgICAgICAuI3sgJGZnLWNsYXNzLW9mZiB9LSN7JG5hbWVzcGFjZX0tI3skaX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBnZXQtY29sLXBlcmNlbnQoJGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuI3sgJGZnLWNsYXNzLW9mZiB9LSN7JG5hbWVzcGFjZX0tcmVzZXQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbn1cblxuXG4vKipcbiAqIEJ1aWxkIHRoZSBncmlkIGluIHR3byBzdGVwcywgdG8gaGVscCBtaW5pbWl6ZSBmaWxlIHNpemVcbiAqIFN0ZXAgMSwgZm9yIGVhY2ggbmFtZXNwYWNlLCBjcmVhdGUgdGhlIGdyaWQtYmFzZVxuICogU3RlcCAyLCBmb3IgZWFjaCBuYW1lc3BhY2UsIHdyYXAgdGhlIGNvbCB3aWR0aC9vZmZzZXQgbWVhc3VyZW1lbnRzIGluIHRoZWlyIGJyZWFrcG9pbnQgbWVkaWEgcXVlcnlcbiAqL1xuQGVhY2ggJHZhbCBpbiAkZmctYnJlYWtwb2ludHMge1xuXG4gICAgJG5hbWVzcGFjZTogbnRoKCR2YWwsIDEpO1xuICAgIEBpbmNsdWRlIGdyaWQtYmFzZSggJG5hbWVzcGFjZSApO1xuXG59XG5cbkBlYWNoICR2YWwgaW4gJGZnLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbGVuZ3RoKCR2YWwpID09IDEge1xuXG4gICAgICAgICRuYW1lc3BhY2U6IG50aCgkdmFsLCAxKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1zaXplcyggJG5hbWVzcGFjZSApO1xuXG4gICAgfSBAZWxzZSB7XG5cbiAgICAgICAgJG5hbWVzcGFjZTogbnRoKCR2YWwsIDEpO1xuICAgICAgICAkc2l6ZTogbnRoKCR2YWwsIDIpO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skc2l6ZX0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtc2l6ZXMoICRuYW1lc3BhY2UgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2dyaWQnO1xuQGltcG9ydCAnLi4vYnV0dG9uL2J1dHRvbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL21peGluJztcblxuJGNhdGVnb3J5LWxpbmtzX3RpdGxlLWNvbG9yOiAkY29sb3JfYmxhY2s7XG4kY2F0ZWdvcnktbGlua3NfdGl0bGUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTM7XG4kY2F0ZWdvcnktbGlua3NfdGl0bGUtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kY2F0ZWdvcnktbGlua3NfdGl0bGUtbGluZXMtZW5hYmxlZDogZmFsc2U7XG4kY2F0ZWdvcnktbGlua3NfdGl0bGUtbGluZXMtY29sb3I6IG51bGw7XG5cbiRjYXRlZ29yeS1saW5rc19saW5rLWZvbnQtc2l6ZTogMS40cmVtO1xuJGNhdGVnb3J5LWxpbmtzX2xpbmstY29sb3I6ICRjb2xvcl9ibGFjaztcbiRjYXRlZ29yeS1saW5rc19saW5rLWxldHRlci1zcGFjaW5nOiAwLjVweDtcbiRjYXRlZ29yeS1saW5rc19saW5rLWJnOiAkY29sb3JfbGlnaHQtZ3JheTtcblxuLiN7JG5zfWNhdGVnb3J5LWxpbmtzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZS1wbGFjZWhvbGRlci13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTUlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgICAgIEBleHRlbmQgLmljb25fX2Fycm93LXJvdW5kLXJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4td2lkZ2V0IHtcbiAgICAgICAgLnJvdy1mbGV4IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5jcy1jYXRlZ29yeS1saW5rc19fc3ViY2F0cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2F0ZWdvcnktbGlua3NfbGluay1iZztcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjYXRlZ29yeS1saW5rc19saW5rLWJnO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViY2F0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX3N1YmNhdCB7XG4gICAgICAgICYuZW1wdHkge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJjYXQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRjYXRlZ29yeS1saW5rc19saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRjYXRlZ29yeS1saW5rc19saW5rLWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNhdGVnb3J5LWxpbmtzX2xpbmstbGV0dGVyLXNwYWNpbmc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vLXN1YmNhdHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgJl9fbGFuZGluZy1ibG9jayB7XG4gICAgICAgIC5jcy1jYXRlZ29yeS1saW5rc19faXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jYXRlZ29yeS1saW5rc19fc3ViY2F0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNhdGVnb3J5LWxpbmtzX19pbWFnZS1wbGFjZWhvbGRlci13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1OSU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY2F0ZWdvcnktbGlua3NfX3N1YmNhdC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jYXRlZ29yeS1saW5rc19fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLWNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXI6YmVmb3JlLCAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX3RyaWdnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDsgfVxuICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bzsgfSB9XG4gIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMXJlbTtcbiAgICByaWdodDogLTFyZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDQuOHJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0LjhyZW0pO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNTBtcyBsaW5lYXIsIHRyYW5zZm9ybSAxMDBtcyBlYXNlLWluLW91dDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bl9fY29udGVudFthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jYXRlZ29yeS1saW5rcy1kcm9wZG93bi0tbm8tc3ViY2F0cyAuY3MtY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fdHJpZ2dlci1wc2V1ZG9pY29uLXdpZHRoOiAxcmVtICFkZWZhdWx0O1xuJGNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX3RyaWdnZXItcHNldWRvaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX3RyaWdnZXItcHNldWRvaWNvbi1zaWRlLW9mZnNldDogMCAhZGVmYXVsdDtcblxuLiN7JG5zfWNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duIHtcbiAgICAkcm9vdDogJjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICR3aWR0aDogJGNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX3RyaWdnZXItcHNldWRvaWNvbi13aWR0aCxcbiAgICAgICAgICAgICRjb2xvcjogJGNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX3RyaWdnZXItcHNldWRvaWNvbi1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGNhdGVnb3J5LWxpbmtzLWRyb3Bkb3duX3RyaWdnZXItcHNldWRvaWNvbi1jb2xvcixcbiAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAkY2F0ZWdvcnktbGlua3MtZHJvcGRvd25fdHJpZ2dlci1wc2V1ZG9pY29uLXNpZGUtb2Zmc2V0XG4gICAgICAgICk7XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xcmVtO1xuICAgICAgICByaWdodDogLTFyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC44cmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0LjhyZW0pO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwbXMgbGluZWFyLCB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vLXN1YmNhdHMge1xuICAgICAgICAjeyRyb290fV9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIFN3aXBlciA0LjQuNlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTksIDIwMThcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLXRvcDogLTIycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHNcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbj4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGVcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciB7XG4gIC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi9cbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtZGFpbHktZGVhbC10ZWFzZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXItLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYXNpZGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICBwYWRkaW5nOiAwIDAgMS41cmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hc2lkZS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzIlO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMCAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hc2lkZS1pbWFnZSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMGYwZjA7IH0gfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2ltYWdlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19pbWFnZS13cmFwcGVyLCAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2ltYWdlLXdyYXBwZXI6dmlzaXRlZCwgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19pbWFnZS13cmFwcGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19tYWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXNocmluazogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX21haW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDY4JTtcbiAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICBmbGV4OiAxIDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXRhaWxzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2RldGFpbHMge1xuICAgICAgICBmbGV4LWdyb3c6IDU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGV0YWlscyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiA0NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDJyZW0gMCAwOyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXNjcmlwdGlvbi1pbm5lciB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2Rlc2NyaXB0aW9uLWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDJyZW0gMCAwOyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXNjcmlwdGlvbi1saXN0IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGVzY3JpcHRpb24tbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGVzY3JpcHRpb24tbGlzdCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNXJlbTtcbiAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9jaGVjay5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY292ZXIgdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2Rlc2NyaXB0aW9uLWxpc3QgbGk6bnRoLWNoaWxkKG4gKyA2KSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGVzY3JpcHRpb24tbGlzdCBsaTpudGgtY2hpbGQobiArIDUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGV0YWlscy1tYWluIHtcbiAgICBtaW4td2lkdGg6IDgwJTtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZXRhaWxzLW1haW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH0gfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2R1Y3QtYnJhbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2R1Y3QtbGluayB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2R1Y3QtbGluaywgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9kdWN0LWxpbms6dmlzaXRlZCwgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9kdWN0LWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9kdWN0LXJhdGluZyB7XG4gICAgbWFyZ2luOiAwLjJyZW0gMCAxLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2RkLWRldGFpbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZC1kZXRhaWwtLWNvdW50ZG93biB7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGQtZGV0YWlsLS1jb3VudGRvd24ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2RkLWRldGFpbC0tcHJvZ3Jlc3MtYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZC1kZXRhaWwtLXByb2dyZXNzLWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19kZC1kZXRhaWwtLXByb2dyZXNzLWJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2RkLWRldGFpbC0tcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2FkZHRvY2FydCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hZGR0b2NhcnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2FkZHRvY2FydCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTsgfSB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGQtaGVhZGxpbmUge1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9ncmVzcy1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDEuMXJlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9ncmVzcy1iYXItY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2dyZXNzLWJhciAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2dyZXNzLWJnIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2dyZXNzLWJhciAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3Byb2dyZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQTlDNTQ2OyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9ncmVzcy1iYXIgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcm9ncmVzcy1wb3NzaWJsZSB7XG4gICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZGNkY2RjLCAjZGNkY2RjIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA1cHgpOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYXZhaWxhYmxlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMS41cmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hY3Rpb25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19hY3Rpb25zIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDQ1JTtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGV0YWlscy1wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGV0YWlscy1wcmljZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2RldGFpbHMtcHJpY2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX3ByaWNlIC5wcmljZS1ib3ggLm5vcm1hbC1wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fZGlzY291bnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZzogMCAwIDEuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEuNXJlbTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2Rpc2NvdW50IHtcbiAgICAgICAgbGVmdDogMDsgfSB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYmFkZ2Utd3JhcHBlcjpiZWZvcmUge1xuICAgIGxlZnQ6IC0wLjVyZW07IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogODhweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEzcHg7IH0gfVxuICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYmFkZ2UtLWRpc2NvdW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19iYWRnZS0tZGlzY291bnQgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2JhZGdlLS1kaXNjb3VudCAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2JhZGdlLXRleHQgKyAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2JhZGdlLS1kaXNjb3VudCAuY3MtZGFpbHktZGVhbC10ZWFzZXJfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYmFkZ2UtdGV4dCArIC5jcy1kYWlseS1kZWFsLXRlYXNlcl9fYmFkZ2UtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWluLXdpZHRoOiAyMHJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQsIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0ICosIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0W2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydFtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydCBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQgc3BhbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlciAudG9jYXJ0IHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfSB9XG4gICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyIC50b2NhcnQgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcmlnaHQ6IDFlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydCB7XG4gICAgICAgIG1pbi13aWR0aDogMTdyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFpbHktZGVhbC10ZWFzZXIgLnRvY2FydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDE3cmVtOyB9IH1cbiAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyLS1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYWlseS1kZWFsLXRlYXNlci0tYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhaWx5LWRlYWwtdGVhc2VyLS1hY3RpdmUge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5jcy1kYWlseS1kZWFsLXRlYXNlci0tZXhwaXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuXG4kZGFpbHktZGVhbC10ZWFzZXJfZ2xvYmFsLWJvbGQtZm9udDogNjAwICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2dsb2JhbC1zbWFsbC1mb250OiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ib3JkZXItc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLW1vYmlsZTogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci10YWJsZXQtdXA6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIEVsZW1lbnRzIHdpZHRoXG4kZGFpbHktZGVhbC10ZWFzZXJfYXNpZGUtaW1hZ2UtbWF4LXdpZHRoLXRhYmxldDogMzIlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2FzaWRlLWltYWdlLW1heC13aWR0aC1kZXNrdG9wOiAyMCUgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9tYWluLW1heC13aWR0aC10YWJsZXQ6IDY4JSAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9tYWluLW1heC13aWR0aC1kZXNrdG9wOiA4MCUgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9kZXRhaWxzLW1heC13aWR0aC10YWJsZXQ6IDEwMCUgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGV0YWlscy1tYXgtd2lkdGgtZGVza3RvcDogMTAwJSAhZGVmYXVsdDtcblxuJGRhaWx5LWRlYWwtdGVhc2VyX2FjdGlvbnMtbWF4LXdpZHRoLXRhYmxldDogMTAwJSAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9hY3Rpb25zLW1heC13aWR0aC1kZXNrdG9wOiA0NSUgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWNvdW50ZXItd2lkdGgtdGFibGV0LXVwOiA0OCUgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9wcmljZS13cmFwcGVyLXdpZHRoOiAzMCUgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9kZXNjcmlwdGlvbi13aWR0aC1tb2JpbGU6IDEwMCUgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24td2lkdGgtdGFibGV0LXVwOiA0NSUgIWRlZmF1bHQ7XG5cbi8vIEFkZHRvY2FydCAtIHNldCB0byAxMDAlIHRvIHBsYWNlIGJ1dHRvbiBpbiBzZXBhcmF0ZSByb3dcbiRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtd3JhcHBlci13aWR0aC10YWJsZXQtdXA6IDQ3JTtcblxuLy9Qcm9kdWN0XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1icmFuZC1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LW5hbWUtZm9udC1zaXplOiAyLjI1cmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtbGluay1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWxpbmstLWhvdmVyLWNvbG9yOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtcmF0aW5nLW1hcmdpbjogMC4ycmVtIDAgMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY29sdW1ucy1ndXR0ZXI6ICRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ndXR0ZXItbW9iaWxlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtaGVhZGxpbmUtZm9udC1zaXplOiAkZGFpbHktZGVhbC10ZWFzZXJfZ2xvYmFsLXNtYWxsLWZvbnQgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1oZWFkbGluZS1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1oZWFkbGluZS1mb250LXdlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX2dsb2JhbC1ib2xkLWZvbnQgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1wcm9ncmVzcy1iYXItbWFyZ2luOiAwLjVyZW0gMCAwICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBhZGRpbmc6IDEuMXJlbSAxcmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLXByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLWNvbnRlbnQtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXByb2dyZXNzOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1wcm9ncmVzcy1iYXItaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWJvcmRlcjogMXB4IHNvbGlkXG4gICAgJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLW1hcmdpbjogMnB4ICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWhlaWdodDogODAlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgLTQ1ZGVnLFxuICAgICRjb2xvcl9ib3JkZXItNTAwLFxuICAgICRjb2xvcl9ib3JkZXItNTAwIDFweCxcbiAgICB0cmFuc3BhcmVudCAxcHgsXG4gICAgdHJhbnNwYXJlbnQgNXB4XG4pICFkZWZhdWx0O1xuXG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1hdmFpbGFibGUtZm9udC1zaXplOiAkZGFpbHktZGVhbC10ZWFzZXJfZ2xvYmFsLXNtYWxsLWZvbnQgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1hdmFpbGFibGUtZm9udC13ZWlnaHQ6ICRkYWlseS1kZWFsLXRlYXNlcl9nbG9iYWwtYm9sZC1mb250ICFkZWZhdWx0O1xuXG4kZGFpbHktZGVhbC10ZWFzZXJfcHJpY2UtZGV0YWlscy1oZWlnaHQtbGFwdG9wOiBhdXRvICFkZWZhdWx0O1xuXG4vL0JhZGdlIHBvc2l0aW9uIC0gdHJ1ZS0gcG9zaXRpb24gYWJzb2x1dGUgb24gaW1hZ2UsIGZhbHNlLSBwb3NpdGlvbmVkIGFib3ZlIGltYWdlXG4kZGFpbHktZGVhbC10ZWFzZXJfZGlzY291bnQtYmFkZ2UtcG9zaXRpb24tYWJzb2x1dGU6IHRydWUgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGlzY291bnQtYmFkZ2UtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9wcmljZS1vbGQtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfcHJpY2UtZmluYWwtZm9udC1zaXplOiAyLjJyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtbWFyZ2luLXRvcDogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC1taW4td2lkdGgtbW9iaWxlOiAyMHJlbSAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtbWluLXdpZHRoOiAxN3JlbSAhZGVmYXVsdDtcbiRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtbWluLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbXMtbGltaXQtbW9iaWxlLWFuZC10YWJsZXQ6IDYgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24tbGlzdC1pdGVtcy1saW1pdC1kZXNrdG9wOiA1ICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbXMtcGFkZGluZy1sZWZ0OiAycmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaWNvbi1wYXRoOiAnLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2ZycgIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24tbGlzdC1pdGVtLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbS1pY29uLXdpZHRoOiAwLjlyZW0gIWRlZmF1bHQ7XG4kZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24tbGlzdC1pdGVtLWljb24taGVpZ2h0OiAkZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24tbGlzdC1pdGVtLWljb24td2lkdGggIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWNvdW50ZXItbWluLWhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC1taW4taGVpZ2h0ICFkZWZhdWx0O1xuXG4uI3skbnN9ZGFpbHktZGVhbC10ZWFzZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlbiBiZWNhdXNlIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoaXMgb2ZmZXIgaXMgc3RpbGwgYXZhaWxhYmxlXG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgICZfX2FzaWRlLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWJvcmRlci1zZXBhcmF0b3I7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLW1vYmlsZSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX2FzaWRlLWltYWdlLW1heC13aWR0aC10YWJsZXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ndXR0ZXItdGFibGV0LXVwIDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWJvcmRlci1zZXBhcmF0b3I7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX2FzaWRlLWltYWdlLW1heC13aWR0aC1kZXNrdG9wO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtYm9yZGVyLXNlcGFyYXRvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX21haW4tbWF4LXdpZHRoLXRhYmxldDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ndXR0ZXItdGFibGV0LXVwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfbWFpbi1tYXgtd2lkdGgtZGVza3RvcDtcbiAgICAgICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ndXR0ZXItdGFibGV0LXVwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRkYWlseS1kZWFsLXRlYXNlcl9zZWN0aW9ucy1ib3JkZXItc2VwYXJhdG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogNTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfZGV0YWlscy1tYXgtd2lkdGgtdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfZGV0YWlscy1tYXgtd2lkdGgtZGVza3RvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6ICRkYWlseS1kZWFsLXRlYXNlcl9kZXNjcmlwdGlvbi13aWR0aC1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6ICRkYWlseS1kZWFsLXRlYXNlcl9kZXNjcmlwdGlvbi13aWR0aC10YWJsZXQtdXA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLXRhYmxldC11cCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbi1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci1tb2JpbGUgMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci10YWJsZXQtdXAgMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24tbGlzdCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbXMtcGFkZGluZy1sZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkYWlseS1kZWFsLXRlYXNlcl9kZXNjcmlwdGlvbi1saXN0LWl0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbS1pY29uLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbS1pY29uLWhlaWdodDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJGRhaWx5LWRlYWwtdGVhc2VyX2Rlc2NyaXB0aW9uLWxpc3QtaWNvbi1wYXRoKVxuICAgICAgICAgICAgICAgICAgICBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuXG4gICAgICAgICAgICAgICAgICAgICsgI3skZGFpbHktZGVhbC10ZWFzZXJfZGVzY3JpcHRpb24tbGlzdC1pdGVtcy1saW1pdC1tb2JpbGUtYW5kLXRhYmxldH0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoblxuICAgICAgICAgICAgICAgICAgICAgICAgKyAjeyRkYWlseS1kZWFsLXRlYXNlcl9kZXNjcmlwdGlvbi1saXN0LWl0ZW1zLWxpbWl0LWRlc2t0b3B9KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscy1tYWluIHtcbiAgICAgICAgbWluLXdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfbWFpbi1tYXgtd2lkdGgtZGVza3RvcDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci10YWJsZXQtdXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1uYW1lLW1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LWxpbmsge1xuICAgICAgICBjb2xvcjogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtbGluay1jb2xvcjtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWxpbmstLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1yYXRpbmcge1xuICAgICAgICBtYXJnaW46ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LXJhdGluZy1tYXJnaW47XG4gICAgfVxuXG4gICAgJl9fZGQtZGV0YWlsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb3VudGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY291bnRlci13aWR0aC10YWJsZXQtdXA7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY29sdW1ucy1ndXR0ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1jb2x1bW5zLWd1dHRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWNvbHVtbnMtZ3V0dGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC13cmFwcGVyLXdpZHRoLXRhYmxldC11cDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLXRhYmxldC11cDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RkLWhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1oZWFkbGluZS1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtaGVhZGxpbmUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAmX19wcm9ncmVzcy1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLXByb2dyZXNzLWJhci1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLXByb2dyZXNzLWJhci1wYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1wcm9ncmVzcy1iYXItaGVpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19wcm9ncmVzcy1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFpbHktZGVhbC10ZWFzZXJfcHJvZHVjdC1kZC1wcm9ncmVzcy1iYXItY29udGVudC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3Byb2dyZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLXByb2dyZXNzLWJhci1wcm9ncmVzcztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgICAgICAgICAgICAgJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3Byb2dyZXNzLXBvc3NpYmxlIHtcbiAgICAgICAgICAgIGhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWhlaWdodDtcbiAgICAgICAgICAgIGJvcmRlcjogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWJvcmRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLW1hcmdpbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLXByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtcHJvZ3Jlc3MtYmFyLXBvc3NpYmxlLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdmFpbGFibGUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtYXZhaWxhYmxlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWF2YWlsYWJsZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci1tb2JpbGUgMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLXRhYmxldC11cCAwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRkYWlseS1kZWFsLXRlYXNlcl9hY3Rpb25zLW1heC13aWR0aC1kZXNrdG9wO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RldGFpbHMtcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6ICRkYWlseS1kZWFsLXRlYXNlcl9wcmljZS13cmFwcGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3ByaWNlLWRldGFpbHMtaGVpZ2h0LWxhcHRvcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5LWRlYWwtdGVhc2VyX3ByaWNlLW9sZC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIC5wcmljZSxcbiAgICAgICAgICAgIC5ub3JtYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkYWlseS1kZWFsLXRlYXNlcl9wcmljZS1maW5hbC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXNjb3VudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkZGFpbHktZGVhbC10ZWFzZXJfc2VjdGlvbnMtZ3V0dGVyLW1vYmlsZTtcblxuICAgICAgICBAaWYgKCRkYWlseS1kZWFsLXRlYXNlcl9kaXNjb3VudC1iYWRnZS1wb3NpdGlvbi1hYnNvbHV0ZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogJGRhaWx5LWRlYWwtdGVhc2VyX3NlY3Rpb25zLWd1dHRlci1tb2JpbGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS13cmFwcGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLSN7JGRhaWx5LWRlYWwtdGVhc2VyX2Rpc2NvdW50LWJhZGdlLWZvbnQtc2l6ZSAvIDN9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5LWRlYWwtdGVhc2VyX2Rpc2NvdW50LWJhZGdlLWZvbnQtc2l6ZTtcblxuICAgICAgICAmLS1kaXNjb3VudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkaXNjb3VudCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGlzY291bnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgLnRvY2FydCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtbWFyZ2luLXRvcDtcbiAgICAgICAgbWluLXdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LW1pbi13aWR0aC1tb2JpbGU7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRkYWlseS1kZWFsLXRlYXNlcl9hZGR0b2NhcnQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkZGFpbHktZGVhbC10ZWFzZXJfYWRkdG9jYXJ0LW1pbi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJGRhaWx5LWRlYWwtdGVhc2VyX2FkZHRvY2FydC1taW4td2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1leHBpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1kYWlseWRlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYWlseWRlYWxfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1kYWlseWRlYWxfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1kYWlseWRlYWxfX2l0ZW1zLWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgIHRyYW5zZm9ybTogc2tldygtMTJkZWcpOyB9XG4gICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7IH1cbiAgICAgIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50OmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0OyB9XG4gICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsgfVxuICAgIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTQxZjEyO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWw6Zmlyc3QtY2hpbGQsIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNDFmMTI7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10ZWFzZXIgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgbWluLWhlaWdodDogNHJlbTsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24taWNvbiB7XG4gICAgd2lkdGg6IDEuOXJlbTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2U0MWYxMjtcbiAgICBwYWRkaW5nOiAycHggMCAwOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICM2RTZFNkU7XG4gICAgcGFkZGluZzogMnB4IDAgMDsgfVxuICAuY3MtZGFpbHlkZWFsLS10aWxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fYXZhaWxhYmlsaXR5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICM2RTZFNkU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19hdmFpbGFiaWxpdHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNkU2RTZFO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19hdmFpbGFiaWxpdHk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzZFNkU2RTsgfVxuICAgICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0OyB9XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2F2YWlsYWJpbGl0eTpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2RTZFNkU7IH1cbiAgICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19hdmFpbGFiaWxpdHk6bGFzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bGFzdC1jaGlsZCAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tdmFsdWU6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Om5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyB9XG4gIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kYWlseWRlYWxfX2JhZGdlLXBkcC1pY29uIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGZpbGw6ICNmZmZmZmY7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yaWdodC1zaWRlLXNrZXcuc2Nzcyc7XG5cbiRkYWlseWRlYWwtLXRpbGUtcG9zaXRpb246IGFic29sdXRlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1ib3R0b206IDAgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWxlZnQ6IDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2hlYWRlci1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2hlYWRlci1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9oZWFkZXItbWFyZ2luOiAwIDAgMC41cmVtICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX3RpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX3RpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWFwcGx5LXNrZXdzLW1peGluOiB0cnVlICFkZWZhdWx0OyAvLyBzZXQgZmFsc2UgdG8gcmVtb3ZlIGFsbCBmcmVha3kgY3JlYXRpdmVzaG9wJ3Mgc3R5bGluZ1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJhY2tncm91bmQ6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktcGFkZGluZzogMnB4IDRweCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2l0ZW1zLWFtb3VudC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tanVzdGlmeS1jb250ZW50OiBzdHJldGNoICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYXBwbHktc2tld3MtbWl4aW46IHRydWUgIWRlZmF1bHQ7IC8vIHNldCBmYWxzZSB0byByZW1vdmUgYWxsIGZyZWFreSBjcmVhdGl2ZXNob3AncyBzdHlsaW5nXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LW1hcmdpbi1mYWN0b3I6IDNweCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXRpbGUtbWFyZ2luLWZhY3RvcjogMXB4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtcGFkZGluZzogMC4zcmVtIDAuNXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJhY2tncm91bmQ6IG5vbmUgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJhY2tncm91bmQtLXNrZXctbWl4aW46ICRjb2xvcl9nYWxsZXJ5ICFkZWZhdWx0OyAvLyBhcHBseSBvbmx5IGZvciBza2V3IG1peGluXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLXdpZHRoOiA1MCUgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLWJhY2tncm91bmQ6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLXdpZHRoOiAxLjlyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWhlaWdodDogMi40cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi1maWxsOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtY29sb3I6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtcGFkZGluZzogMnB4IDAgMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtY29sb3I6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtcGFkZGluZzogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtcGFkZGluZyAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbiRkYWlseS1kZWFsLXRlYXNlcl9wcm9kdWN0LWRkLWNvdW50ZXItbWluLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24tZmlsbC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4vLyBCZWNhdXNlIHRoZXJlIGlzbid0IGVub3VnaCBzcGFjZSBmb3IgZGlzcGxheSBmdWxsIGNvdW50ZXIgb24gbW9iaWxlIChkZXBlbmRzIG9uIGRlc2luZyksIHdlIGNhbiBkaXNwbGF5IGNvdW50ZXIgaW4gbGlnaHRlciB2ZXJzaW9uIChvbmx5IG9uIHRpbGUpXG4vLyBTZXQgYGZhbHNlYCB0byBpZ25vcmUgbGlnaHRlciB2ZXJzaW9uXG4kZGFpbHlkZWFsX2Z1bGwtY291bnRlci1saWdodGVyLXZlcnNpb24tYnJlYWtwb2ludDogJz49cGhvbmUnLCAnPDYwMHB4JyAhZGVmYXVsdDtcblxuLiN7JG5zfWRhaWx5ZGVhbCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46ICRkYWlseWRlYWxfaGVhZGVyLW1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiAkZGFpbHlkZWFsX2hlYWRlci1mb250LXNpemU7XG5cbiAgICAgICAgQGlmICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGRhaWx5ZGVhbF9oZWFkZXItanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRkYWlseWRlYWxfaGVhZGVyLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFpbHlkZWFsX3RpdGxlLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF90aXRsZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAmX19pdGVtcy1hbW91bnQge1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF9pdGVtcy1hbW91bnQtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duIHtcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9jb3VudGRvd24tZGlzcGxheTtcbiAgICAgICAgbWFyZ2luOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1tYXJnaW47XG5cbiAgICAgICAgQGlmICRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGRhaWx5ZGVhbF9jb3VudGRvd24tanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRkYWlseWRlYWxfY291bnRkb3duLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXdpZHRoO1xuICAgICAgICBwYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXBhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZGlzcGxheTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZmxleC1kaXJlY3Rpb247XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1saW5lLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgQGlmICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYXBwbHktc2tld3MtbWl4aW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmlnaHQtc2lkZS1za2V3KFxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDpcbiAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1iYWNrZ3JvdW5kLS1za2V3LW1peGluLFxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyOlxuICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LW1hcmdpbi1mYWN0b3JcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zcGVjaWFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLXdpZHRoO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICAgICAgQGlmICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYXBwbHktc2tld3MtbWl4aW4ge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tdGlsZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJpZ2h0LXNpZGUtc2tldy1vdmVycmlkZShcbiAgICAgICAgICAgICAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjpcbiAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tdGlsZS1tYXJnaW4tZmFjdG9yLFxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyLW11bHRpcGxpZXI6IDVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tdGVhc2VyICYge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY291bnRlci1taW4taGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLWljb24ge1xuICAgICAgICB3aWR0aDogJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWhlaWdodDtcbiAgICAgICAgZmlsbDogJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWRpc3BsYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5O1xuICAgICAgICBmb250LXNpemU6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJi0tdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiAkZGFpbHlkZWFsLS10aWxlLXBvc2l0aW9uO1xuICAgICAgICBsZWZ0OiAkZGFpbHlkZWFsLS10aWxlLWxlZnQ7XG4gICAgICAgIGJvdHRvbTogJGRhaWx5ZGVhbC0tdGlsZS1ib3R0b207XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICN7JHJvb3R9X19hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktcGFkZGluZztcbiAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1ib3JkZXItcmFkaXVzO1xuXG4gICAgICAgICAgICBAaWYgJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYXBwbHktc2tld3MtbWl4aW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJpZ2h0LXNpZGUtc2tldyhcbiAgICAgICAgICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYmFja2dyb3VuZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRkYWlseWRlYWxfZnVsbC1jb3VudGVyLWxpZ2h0ZXItdmVyc2lvbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2Z1bGwtY291bnRlci1saWdodGVyLXZlcnNpb24tYnJlYWtwb2ludC4uLlxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi0tc3BlY2lhbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1ib3JkZXItcmFkaXVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYm9yZGVyLXJhZGl1cyAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvdW50ZG93bi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUERQXG4gICAgJl9fYmFkZ2UtcGRwLWljb24ge1xuICAgICAgICB3aWR0aDogJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLWhlaWdodDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGZpbGw6ICRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24tZmlsbC1jb2xvcjtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJHJpZ2h0LXNpZGUtc2tldy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy0yMDAgIWRlZmF1bHQ7XG4kcmlnaHQtc2lkZS1za2V3LXRyYW5zZm9ybS1yZXZlcnQ6ICR0cmFuc2Zvcm1fc2tldy0yMDAtcmV2ZXJ0ICFkZWZhdWx0O1xuXG5AbWl4aW4gcmlnaHQtc2lkZS1za2V3KFxuICAgICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnksXG4gICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI6IDAsXG4gICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllcjogMlxuKSB7XG4gICAgQGlmICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyICE9IDAge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNmb3JtOiAkcmlnaHQtc2lkZS1za2V3LXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXIgIT0gMCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyLW11bHRpcGxpZXIgKlxuICAgICAgICAgICAgICAgICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpZiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlciAhPSAwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcmlnaHQtc2lkZS1za2V3LWd1dHRlci1tdWx0aXBsaWVyICpcbiAgICAgICAgICAgICAgICAkcmlnaHQtc2lkZS1za2V3LWd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHJpZ2h0LXNpZGUtc2tldy1vdmVycmlkZShcbiAgICAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ6IHNhbWUsXG4gICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI6IHNhbWUsXG4gICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXItbXVsdGlwbGllcjogMlxuKSB7XG4gICAgQGlmICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyICE9IHNhbWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgfVxuXG4gICAgQGlmICRyaWdodC1zaWRlLXNrZXctYmFja2dyb3VuZCAhPSBzYW1lIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpZiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQgIT0gc2FtZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmlnaHQtc2lkZS1za2V3LWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyLW11bHRpcGxpZXIgKlxuICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICBAaWYgJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kICE9IHNhbWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJpZ2h0LXNpZGUtc2tldy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRyaWdodC1zaWRlLXNrZXctZ3V0dGVyLW11bHRpcGxpZXIgKlxuICAgICAgICAgICAgJHJpZ2h0LXNpZGUtc2tldy1ndXR0ZXI7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogU3dpcGVyIDQuNC42XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAxOCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBEZWNlbWJlciAxOSwgMjAxOFxuICovXG4uc3dpcGVyLWNvbnRhaW5lciwgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUsIC5zd2lwZXItd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLXRvcDogLTIycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIsIC5jcy1pbWFnZS10ZWFzZXJfX3Njcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5jcy1pbWFnZS10ZWFzZXJfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyX19zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnLCAuY3MtaW1hZ2UtdGVhc2VyX19zY3JvbGxiYXItLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiwgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi9cbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWltYWdlLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXI7XG4gICAgei1pbmRleDogMjAxO1xuICAgIHdpZHRoOiA1LjVyZW07XG4gICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyOmhvdmVyIC5jcy1pbWFnZS10ZWFzZXJfX25hdiB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tcHJldiB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1mdWxsLXdpZHRoLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAtMi43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLWZ1bGwtd2lkdGgtc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAtMi43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1yZWFkeSAuY3MtaW1hZ2UtdGVhc2VyX19uYXY6bm90KC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tZGlzYWJsZWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2OmhvdmVyLCAuY3MtaW1hZ2UtdGVhc2VyX19uYXY6YWN0aXZlLCAuY3MtaW1hZ2UtdGVhc2VyX19uYXY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX25hdi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDIuNHJlbTtcbiAgICBoZWlnaHQ6IDMuN3JlbTtcbiAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwIDA7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24taXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGNkY2RjOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUsIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWQ0MDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbi1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19udW1iZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19udW1iZXItLWN1cnJlbnQge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS13aW5kb3ctd2lkdGgge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19uYXYsXG4gIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LW1vYmlsZS0xIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2Nhcm91c2VsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19jYXJvdXNlbCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlciB7XG4gICAgbWFyZ2luOiAtMC40cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAwLjhyZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IC0zcmVtIDAgMDtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuOTVlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpICogMik7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmxhc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgKiAyKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tdGVhc2VyLWFuZC10ZXh0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS10ZWFzZXItYW5kLXRleHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItLXRlYXNlci1hbmQtdGV4dCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb2JpbGUtdGV4dC1pbWFnZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQge1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9iaWxlLWltYWdlLXRleHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkIHtcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctNSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctNyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAxNC4yODU3MSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWNtcy10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1iYWNrbGluayAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOm5vdCgucmVhZHkpIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyOmhvdmVyLCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0taW5zdGFncmFtLWZlZWQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci0taW5zdGFncmFtLWZlZWQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQ6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrOm5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS1pbnN0YWdyYW0tZmVlZCAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlcixcbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjRyZW07XG4gICAgICBsZWZ0OiAwLjRyZW07XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMC44cmVtKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlcjpub3QoLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlcikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlcjpub3QoLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlcilcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC44cmVtKTsgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyOm5vdCguY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyOm5vdCguY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyKVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXJcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LW92ZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMlIDYlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LW92ZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiA5JSAxMCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC1vdmVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogNS42NCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC1vdmVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogNy41MiU7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1hbGlnbi14LTIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtYWxpZ24teC0zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1hbGlnbi15LTIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1hbGlnbi15LTMge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQge1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICogKyAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9IH1cbiAgKiArIC5jcy1pbWFnZS10ZWFzZXJfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAqICsgLmNzLWltYWdlLXRlYXNlcl9fY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWluLXdpZHRoOiAxMzJweDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24sIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiAqLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b25bZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDE1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjdlbTtcbiAgICBsZWZ0OiAwLjdlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDAuOWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2U6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi14LTIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXgtMyB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDAuN2VtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXktMiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UtLWFsaWduLXktMi5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi14LTIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi15LTMge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwLjdlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDc1JTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIHNtYWxsLFxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIGJpZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSBzbWFsbDpsYXN0LWNoaWxkLFxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2UgYmlnOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS1zcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fb3ZlcmxheSwgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xJTtcbiAgICBsZWZ0OiAtMSU7XG4gICAgd2lkdGg6IDEwMiU7XG4gICAgaGVpZ2h0OiAxMDIlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogIzIxMjEyMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTEuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMi5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9faW1hZ2Uge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgZm9udDogMC8wIGE7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2ltYWdlLS1taXJyb3Ige1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX29wdGltaXplci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19vcHRpbWl6ZXItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTEwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMjAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0yNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0zMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTM1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTQwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNDUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy02MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTY1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTcwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNzUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctODAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy04NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy05MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTk1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTEwMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gd2hpdGU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4wNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTEwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTE1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0yMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjIpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0yNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjI1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMzAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4zKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMzUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4zNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTQwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTQ1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNDUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjU1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNjAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC42KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNjUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC42NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTcwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNyk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTc1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNzUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy04MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjgpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy04NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjg1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctOTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC45KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctOTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC45NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTEwMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gIzIxMjEyMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXItLWhlcm8tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXItLWhlcm8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLS1oZXJvLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXItLWhlcm8tdGVhc2VyLmNzLWltYWdlLXRlYXNlci0tYXMtbGlzdC1tb2JpbGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWhlcm8tdGVhc2VyLmNzLWltYWdlLXRlYXNlci0tYXMtbGlzdC1tb2JpbGUgLmNzLWltYWdlLXRlYXNlcl9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGggLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY3MtY29udGFpbmVyLS1oZXJvLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICdpbmNsdWRlLW1lZGlhL2Rpc3QvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGltYWdlLXRlYXNlcl9zY2FsZS1mb250cy1wcm9wb3J0aW9uYWxseTogZmFsc2UgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyOiAwLjhyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2NvbnRlbnQtZ3V0dGVyLWJhc2U6IDEuODglICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9zbG9nYW4tbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMiAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZTogNDBweCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWNvbG9yOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3Nsb2dhbi1jb2xvcjogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3ItLWRhcms6ICRzY2hlbWUtLWRhcmtfdGV4dHMtY29sb3IgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3Nsb2dhbi1jb2xvci0tZGFyazogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tY29sb3ItLWRhcms6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtd2VpZ2h0OiA5MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctY29sb3ItLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctb2Zmc2V0LS1kYXJrOiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1zdGVwLS1kYXJrOiA1ICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LWNvbG9yLS1saWdodDogJGNvbG9yX2JhY2tncm91bmQtNzAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWxpZ2h0OiAwIDAgMi41cmVtICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1zdGVwLS1saWdodDogNSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfY29udGFpbmVyLWJhY2tncm91bmQtLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9ncmFkaWVudC1jb2xvci0tbGlnaHQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZ3JhZGllbnQtY29sb3ItLWRhcms6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9iYWRnZS1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9iYWRnZS1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2JhZGdlLWZvbnQtc2l6ZTogMS4xZW0gIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtbGlnaHQtc2NoZW1lLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtZGFyay1zY2hlbWUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2hlcm8tY2Fyb3VzZWxfc2xpZGUtd2lkdGg6IDc3JSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9jbXMtcGFnZXMtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jbXMtYmFja2xpbmstYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9aW1hZ2UtdGVhc2VyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHRlYXNlcigpO1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmLS13aW5kb3ctd2lkdGgge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgI3skcm9vdH1fX25hdixcbiAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0xICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2Fyb3VzZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogLSN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyIC8gMn07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlcn0pO1xuXG4gICAgICAgICYtLWNvbnRlbnQtdW5kZXIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYtLXNjaGVtZS1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfY29udGFpbmVyLWJhY2tncm91bmQtLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tc2NoZW1lLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtM3JlbSAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOTVlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgJi0tbW9zYWljLXNjZW5hcmlvIHtcbiAgICAgICAgICAgICAgICAmLTEge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGltYWdlLXRlYXNlci0tbW9zYWljX2VxdWFsaXplLWZvbnQtc2l6ZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbG9nYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplICogMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplICogMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgKiAyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXItLW1vc2FpY19lcXVhbGl6ZS1mb250LXNpemVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xvZ2FuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC1zaXplICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBwYWRkaW5nOiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cbiAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tdGVhc2VyLWFuZC10ZXh0ICYge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIHtcbiAgICAgICAgICAgICAgICA+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWltYWdlLXVwbG9hZGVkIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMtLW1vYmlsZS10ZXh0LWltYWdlICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMtLW1vYmlsZS1pbWFnZS10ZXh0ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDgge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0jeyRpfSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAoMTAwJSAvICRpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWNtcy10ZWFzZXIgJiB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Ntcy1wYWdlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWJhY2tsaW5rICYge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgPiAjeyRyb290fV9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jbXMtYmFja2xpbmstYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5yZWFkeSkge1xuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWluc3RhZ3JhbS1mZWVkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0Om5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtbGlnaHQtc2NoZW1lLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrOm5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfbm8taW1hZ2UtZGFyay1zY2hlbWUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgICN7JHJvb3R9LS1pbnN0YWdyYW0tZmVlZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgfiAjeyRyb290fV9fc2xpZGUtd3JhcHBlcixcbiAgICAgICAgfiAjeyRyb290fV9fZmlndXJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlciA+IDAge1xuICAgICAgICAgICAgICAgIHRvcDogJGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyIC8gMjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlcn0pO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgPiAwIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlcjpub3QoI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQtdGVhc2VyICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1vdmVyICYge1xuICAgICAgICAgICAgcGFkZGluZzogMyUgNiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5JSAxMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbWFnZS10ZWFzZXJfY29udGVudC1ndXR0ZXItYmFzZSAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaW1hZ2UtdGVhc2VyX2NvbnRlbnQtZ3V0dGVyLWJhc2UgKiA0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbnRlbnQtYWxpZ24teCB7XG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1hbGlnbi15IHtcbiAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgJi0tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfdGV4dC1jb250ZW50LWNvbG9yO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3ItLWRhcms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbG9nYW4ge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWxldmVsKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtd2VpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWNvbG9yO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl9zbG9nYW4tY29sb3ItLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWNvbG9yO1xuXG4gICAgICAgICogKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWNvbG9yLS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgICogKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTMycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXR2Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEtYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fY3RhLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRpbWFnZS10ZWFzZXJfY3RhLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEJhZGdlXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICAkYmFkZ2U6ICY7XG5cbiAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2JhZGdlLWZvbnQtc2l6ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuN2VtO1xuICAgICAgICBsZWZ0OiAwLjdlbTtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfYmFkZ2UtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjllbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsaWduLXgge1xuICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTMge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAuN2VtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxpZ24teSB7XG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgICAgICYjeyRiYWRnZX0tLWFsaWduLXgtMiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0zIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjdlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDc1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsLFxuICAgICAgICBiaWcge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXNwYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gQ29udHJhc3QgT3B0aW1pemVyc1xuICAgICZfX292ZXJsYXksXG4gICAgJl9fZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTElO1xuICAgICAgICBsZWZ0OiAtMSU7XG4gICAgICAgIHdpZHRoOiAxMDIlO1xuICAgICAgICBoZWlnaHQ6IDEwMiU7XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tZGFyaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyYWRpZW50IHtcbiAgICAgICAgQGZvciAkeCBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAgICAgICAgICYtLWRpcmVjdGlvbi14LSN7JHh9IHtcbiAgICAgICAgICAgICAgICBAZm9yICR5IGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgICAgICAgICAmI3skcm9vdH1fX2dyYWRpZW50LS1kaXJlY3Rpb24teS0jeyR5fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1saWdodCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZWFzZXItZ3JhZGllbnQtb3ZlcmxheShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtdGVhc2VyX2dyYWRpZW50LWNvbG9yLS1saWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODUlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZWFzZXItZ3JhZGllbnQtb3ZlcmxheShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1hZ2UtdGVhc2VyX2dyYWRpZW50LWNvbG9yLS1kYXJrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4NSVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICAvLyBIaWRlcyBhbHQgdGV4dCBzbyBpdCBkb2Vzbid0IHNob3cgYmVmb3JlIGltYWdlIGlzIGxvYWRlZC5cbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgZm9udDogMC8wIGE7XG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmLS1taXJyb3Ige1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93IHtcbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wdGltaXplci10ZXh0LXNoYWRvdyhcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctY29sb3ItLWRhcmssXG4gICAgICAgICAgICAgICAgJHRleHQtc2hhZG93LW9mZnNldDogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWRhcmssXG4gICAgICAgICAgICAgICAgJHN0ZXA6ICRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctc3RlcC0tZGFya1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3B0aW1pemVyLXRleHQtc2hhZG93KFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1jb2xvci0tbGlnaHQsXG4gICAgICAgICAgICAgICAgJHRleHQtc2hhZG93LW9mZnNldDogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWxpZ2h0LFxuICAgICAgICAgICAgICAgICRzdGVwOiAkaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LXN0ZXAtLWxpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLS1oZXJvLXRlYXNlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fY2Fyb3VzZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gRG8gbm90IGFmZmVjdCBpbWFnZSB0ZWFzZXIgbmF2IHBvc2l0aW9uaW5nXG4gICAgICAgIH1cblxuICAgICAgICAmI3skcm9vdH0tLWFzLWxpc3QtbW9iaWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgLiN7JG5zfWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuXG4uI3skbnN9Y29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgLmNzLWltYWdlLXRlYXNlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiB0ZWFzZXItZ3JhZGllbnQtb3ZlcmxheShcbiAgICAkeDogMSxcbiAgICAkeTogMSxcbiAgICAkY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTcwMCxcbiAgICAkZ3JhZGllbnQtcmFuZ2U6IDg1JVxuKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBnZXQtZ3JhZGllbnQtYW5nbGUoJHgsICR5KSxcbiAgICAgICAgJGNvbG9yIDAlLFxuICAgICAgICByZ2JhKCRjb2xvciwgMCkgJGdyYWRpZW50LXJhbmdlXG4gICAgKTtcbn1cbiIsIkBtaXhpbiBvcHRpbWl6ZXItdGV4dC1zaGFkb3coXG4gICAgJGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAsXG4gICAgJHRleHQtc2hhZG93LW9mZnNldDogMCAwIDI1cHgsXG4gICAgJHN0ZXA6IDVcbikge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggY2VpbCgxMDAgLyAkc3RlcCkge1xuICAgICAgICAkdmFsdWU6ICRpICogJHN0ZXA7XG5cbiAgICAgICAgJi0jeyR2YWx1ZX0ge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6ICN7JHRleHQtc2hhZG93LW9mZnNldH0gcmdiYSgkY29sb3IsICgkdmFsdWUgLyAxMDApKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cbi5zd2lwZXItY29udGFpbmVyLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuc3dpcGVyLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3Njcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3Njcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zY3JvbGxiYXItLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGVzIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWltYWdlLXRlYXNlci1sZWdhY3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXI7XG4gICAgei1pbmRleDogMjAxO1xuICAgIHdpZHRoOiA1LjVyZW07XG4gICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6aG92ZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdiB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLWRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tcHJldiB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWZ1bGwtd2lkdGgtc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAtMi43NXJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWZ1bGwtd2lkdGgtc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1uZXh0IHtcbiAgICAgICAgICByaWdodDogLTIuNzVyZW07XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXJlYWR5IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXY6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLWRpc2FibGVkKSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXY6aG92ZXIsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXY6YWN0aXZlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDIuNHJlbTtcbiAgICBoZWlnaHQ6IDMuN3JlbTtcbiAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICB6LWluZGV4OiAyMDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19wYWdpbmF0aW9uLWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2RjZGNkYzsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWQ0MDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24tYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX251bWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19udW1iZXItLWN1cnJlbnQge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeSB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LFxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3kuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19pbWFnZVtzcmNePSdkYXRhOmltYWdlLyddIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19maWd1cmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgY29sb3I6ICNkZDJlMmU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDFlbSAwLjY1ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogMyUgNSU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcixcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy01LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcixcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIHtcbiAgICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMy5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcixcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTUuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNi5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIge1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0zIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby00IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4zOXJlbTsgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNzV2dzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDR2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40NXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMy5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjA1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDJ2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuOXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNXZ3OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuMzV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNnZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMnZ3OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC42NXJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi45cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lLFxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi43cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4zcmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjV2dzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjh2dzsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lICsgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbjogMC4yNWVtIDAgMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjY5cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41NXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAydnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNzh2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNHZ3OyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJ2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xdnc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuODV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41dnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMzV2dzsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zdnc7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctOCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMnZ3OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NXJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lLFxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0zLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00LmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTggLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuNXZ3OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy1tb2JpbGUtMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDN2dzsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0LFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3RleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC43cmVtOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgICAgcGFkZGluZzogMWVtIDIuNWVtOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSxcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy02IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEsXG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTggLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTY6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEge1xuICAgICAgICBwYWRkaW5nOiAwLjY1ZW0gMS4yNWVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3BhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LW1vYmlsZS0yOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuMjVlbSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbDpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICB3aWR0aDogY2FsYyggNTAlIC0gMC4yNWVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbDpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbDpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAtIDAuMjVlbSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tbW9iaWxlLWNmZy1iaWctc21hbGwtc21hbGwtYmlnOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6Zmlyc3QtY2hpbGQsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZTpmaXJzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faW1hZ2UsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWc6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZTpsYXN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1mdWxsLXdpZHRoIHtcbiAgICBtYXJnaW46IDAgY2FsYygoKDEwMHZ3IC0gMTAwJSkgLyAyKSAqIC0xKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTM6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUsIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTY6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4yNWVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMC4zMzMzZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy00Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAwLjM3NWVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNjpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gMC44MzMzZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy04Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDggLSAwLjg3NWVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbDpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMC4zMzMzZW0pOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsLWJpZzpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlOmZpcnN0LWNoaWxkLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tbW9iaWxlLWNmZy1iaWctc21hbGwtc21hbGwtYmlnOm5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCAtIDAuNWVtKTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1jbXMtcGFnZXMgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3NsaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS0tc2NoZW1lLWxpZ2h0Om5vdCguY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS1saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUtbGluayB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAzcmVtOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSxcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCxcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLFxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSxcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCxcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCxcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSxcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3N1YmhlYWRsaW5lLFxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCxcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tNCB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSkgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lLFxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgIG1heC13aWR0aDogNzAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNXJlbSAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQ0MDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSkgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lLFxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSkgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeTpub3QoLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0xKSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmU6YWZ0ZXIsXG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3k6bm90KC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMSkgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTJyZW07XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWQ0MDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNC41cmVtO1xuICAgICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSxcbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3ktLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDIuNDNyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctMyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5LS1pdGVtcy1pbi1yb3ctNCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjk1cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NHJlbTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19oZWFkbGluZSArIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19zdWJoZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAgMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9faGVhZGxpbmUgKyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCB7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAgMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc3ViaGVhZGxpbmUgKyAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCB7XG4gICAgICBtYXJnaW46IDAuMjVyZW0gMCAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbi5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbi5sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbiAqLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fY3RhLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19jdGEtYnV0dG9uLXNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX2N0YS1idXR0b24taWNvbiB7XG4gICAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdiB7XG4gICAgei1pbmRleDogMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjdXJzb3I6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtLXByZXYge1xuICAgICAgbGVmdDogMS41cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci1sZWdhY3lfX25hdi0tbmV4dCB7XG4gICAgICByaWdodDogMS41cmVtOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19uYXYtaWNvbiB7XG4gICAgZmlsbDogIzMyNGRjZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeV9fbmF2LWljb24ge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNS41cmVtICogMC43NSk7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyLWxlZ2FjeS0tZnVsbC13aWR0aC1zbGlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItbGVnYWN5X19udW1iZXItLWN1cnJlbnQge1xuICAgIGNvbG9yOiAjZmVkNDAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlLXRlYXNlci1sZWdhY3kvbWl4aW4nO1xuXG4kaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9aW1hZ2UtdGVhc2VyLWxlZ2FjeSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSB0ZWFzZXIoKTtcbiAgICBAaW5jbHVkZSBpbWFnZVRlYXNlcigpO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAmX19zbGlkZXMge1xuICAgICAgICAjeyRyb290fS0tY21zLXBhZ2VzICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0tc2xpZGVyKSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2NoZW1lLWxpZ2h0Om5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlICYge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlICYtLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby0xLFxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3N1YmhlYWRsaW5lLFxuICAgICAgICAgICAgI3skcm9vdH1fX3RleHQsXG4gICAgICAgICAgICAjeyRyb290fV9fY3RhIHtcbiAgICAgICAgICAgICAgICAvL1N0eWxlIHNwZWNpZmljIGZvciBjcmVhdGl2ZXNob3AgdGVtcGxhdGUsIHByb2JhYmx5IHNob3VsZCBiZSByZW1vdmVkIGluIGNoaWxkIHRlbXBsYXRlXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbnRlbnQtZGlzcGxheS1zY2VuYXJpby00IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIC8vQmVsb3cgYXJlIHN0eWxlcyBzcGVjaWZpYyBmb3IgY3JlYXRpdmVzaG9wIHRlbXBsYXRlLCBwcm9iYWJseSBzaG91bGQgYmUgcmVtb3ZlZCBpbiBjaGlsZCB0ZW1wbGF0ZVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0taXRlbXMtaW4tcm93LTEpXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTFcbiAgICAgICAgICAgICYsXG4gICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0taXRlbXMtaW4tcm93LTEpXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTJcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNXJlbSAycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2dvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAvL1N0eWxlIHNwZWNpZmljIGZvciBjcmVhdGl2ZXNob3AgdGVtcGxhdGUsIHByb2JhYmx5IHNob3VsZCBiZSByZW1vdmVkIGluIGNoaWxkIHRlbXBsYXRlXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2dvbGQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTJcbiAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktaW5zaWRlXG4gICAgICAgICAgICAjeyRyb290fV9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMVxuICAgICAgICAgICAgJixcbiAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yXG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZVxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQtd3JhcHBlci0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTJcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vRW5kIG9mIHN0eWxlIHZlcnkgc3BlY2lmaWMgdG8gY3JlYXRpdmVzaG9wIHRlbXBsYXRlXG5cbiAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNDNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45NXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArICN7JHJvb3R9X19zdWJoZWFkbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlci1sZWdhY3lfY3RhLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXItbGVnYWN5X2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXItbGVnYWN5X2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyLWxlZ2FjeV9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3doaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIGN1cnNvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LWljb24ge1xuICAgICAgICBmaWxsOiAkY29sb3JfY2VydWxlYW4tYmx1ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyg1LjVyZW0gKiAwLjc1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgtc2xpZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX251bWJlci0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ29sZDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5cbkBtaXhpbiBpbWFnZVRlYXNlcigpIHtcbiAgICAkcm9vdDogJjtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAjeyRyb290fV9fbmF2LFxuICAgICAgICAjeyRyb290fV9fcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYjeyRyb290fS0tc2xpZGVyIHtcbiAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgICZbc3JjXj0nZGF0YTppbWFnZS8nXSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LW91dHNpZGUgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgICAgIGNvbG9yOiAjZGQyZTJlO1xuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDAuNjVlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAzJSA1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zLFxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCxcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTUsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02IHtcbiAgICAgICAgICAgICAgICAgICAgJiN7JHJvb3R9LS1zbGlkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMiAjeyRyb290fS0taXRlbXMtaW4tcm93LTMsXG4gICAgICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00LFxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNSxcbiAgICAgICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYge1xuICAgICAgICAgICAgICAgICAgICAmI3skcm9vdH0tLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTEge1xuICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1kaXNwbGF5LXNjZW5hcmlvLTIge1xuICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGUgJiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tMyB7XG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWRpc3BsYXktc2NlbmFyaW8tNCB7XG4gICAgICAgICAgICAjeyRyb290fV9fd3JhcHBlci0tY29udGVudC1kaXNwbGF5LWluc2lkZSAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTEgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zOXJlbTtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNzV2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDR2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40NXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjI1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjA1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJ2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00I3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy04ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMzV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTYgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJ2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC42NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi45cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJixcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zI3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00I3skcm9vdH0tLXNsaWRlciAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL0luIHNjZW5hcmlvIHdpdGggMiBpbWFnZXMgaW4gcm93IG9uIG1vYmlsZSBiZWxvdyBzdHlsZXMgb3ZlcndyaXRlIGFsbCBhYm92ZSBmb250LXNpemVzXG4gICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuOHZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgKyAjeyRyb290fV9fc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGxpbmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42OXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNTV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc4dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjR2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ydnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctOCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjg1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXZ3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTQgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3Z3O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTggJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJ2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0yICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTMgJixcbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctMyN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCN7JHJvb3R9LS1zbGlkZXIgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctOFxuICAgICAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZVxuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9JbiBzY2VuYXJpbyB3aXRoIDIgaW1hZ2VzIGluIHJvdyBvbiBtb2JpbGUgYmVsb3cgc3R5bGVzIG92ZXJ3cml0ZSBhbGwgYWJvdmUgZm9udC1zaXplc1xuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0yICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjV2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzdnc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LWRpc3BsYXktb3V0c2lkZSAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0xICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC43cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTI6bm90KCN7JHJvb3R9LS1zbGlkZXIpICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAyLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1vdXRzaWRlXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy04ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTM6bm90KCN7JHJvb3R9LS1zbGlkZXIpXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3dyYXBwZXItLWNvbnRlbnQtZGlzcGxheS1pbnNpZGVcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy02Om5vdCgjeyRyb290fS0tc2xpZGVyKSAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjY1ZW0gMS4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuMjVlbSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlLWNmZy1iaWctc21hbGwtc21hbGwge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICA1MCUgLSAwLjI1ZW1cbiAgICAgICAgICAgICAgICApOyAvLyBTbWFsbCBzbGlkZXMgc2hvdWxkIGJlIGhhbGYgd2lkdGggbWludXMgZ2FwLlxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gQmlnIHNsaWRlIHNob3VsZCBiZSBmdWxsIHdpZHRoLlxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWcge1xuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICA1MCUgLSAwLjI1ZW1cbiAgICAgICAgICAgICAgICApOyAvLyBTbWFsbCBzbGlkZXMgc2hvdWxkIGJlIGhhbGYgd2lkdGggbWludXMgZ2FwLlxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IC8vIEJpZyBzbGlkZXMgc2hvdWxkIGJlIGZ1bGwgd2lkdGguXG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgICBtYXJnaW46IDAgY2FsYygoKDEwMHZ3IC0gMTAwJSkgLyAyKSAqIC0xKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy0yLFxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMyxcbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTQsXG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy01LFxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctNixcbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTgge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMiB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4yNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pdGVtcy1pbi1yb3ctMyB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAwLjMzMzNlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTQge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMC4zNzVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbXMtaW4tcm93LTYge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2IC0gMC44MzMzZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy04IHtcbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gOCAtIDAuODc1ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZS1jZmctYmlnLXNtYWxsLXNtYWxsIHtcbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9LS1zbGlkZXIpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDAuMzMzM2VtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tb2JpbGUtY2ZnLWJpZy1zbWFsbC1zbWFsbC1iaWcge1xuICAgICAgICAgICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMC41ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEdhcCBiZXR3ZWVuIGNvbHVtbnMgKGFsbCBDU1MgdW5pdHMgYWxsb3dlZCkgW0V4YW1wbGU6IDEuNXJlbV1cbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2NvbHVtbi1nYXBcbiAqL1xuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9jb2x1bW4tcnVsZVxuICovXG4uY3MtcGFyYWdyYXBoIHtcbiAgY29sdW1uLWdhcDogNnJlbTtcbiAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhcmFncmFwaCB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLXBhcmFncmFwaC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXBhcmFncmFwaCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY3MtcGFyYWdyYXBoIGEuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jcy1wYXJhZ3JhcGggaDYge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY3MtcGFyYWdyYXBoIGg2IHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jcy1wYXJhZ3JhcGggaDMsXG4gIC5jcy1wYXJhZ3JhcGggaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhcmFncmFwaC0tY29scy0yLCAuY3MtcGFyYWdyYXBoLS1jb2xzLTMsIC5jcy1wYXJhZ3JhcGgtLWNvbHMtNCB7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAgIC5jcy1wYXJhZ3JhcGgtLWNvbHMtMiBsaSwgLmNzLXBhcmFncmFwaC0tY29scy0zIGxpLCAuY3MtcGFyYWdyYXBoLS1jb2xzLTQgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLXBhcmFncmFwaC0tY29scy0yIGltZywgLmNzLXBhcmFncmFwaC0tY29scy0zIGltZywgLmNzLXBhcmFncmFwaC0tY29scy00IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wYXJhZ3JhcGgtLWNvbHMtMywgLmNzLXBhcmFncmFwaC0tY29scy00IHtcbiAgICAgIGNvbHVtbi1jb3VudDogMzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNzLXBhcmFncmFwaC0tY29scy00IHtcbiAgICAgIGNvbHVtbi1jb3VudDogNDsgfSB9XG4gIC5jcy1wYXJhZ3JhcGgtLW1vZGUtb3B0aW1hbCB7XG4gICAgbWF4LXdpZHRoOiA0MGVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBjb2x1bW4tY291bnQ6IGluaXRpYWw7IH1cblxuLmNtcy1wYWdlLXZpZXcgLm1haW4gLmNzLXBhcmFncmFwaCBwLFxuLmNtcy1wYWdlLXZpZXcgLm1haW4gLmNzLXBhcmFncmFwaCBoNiB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cblxuLmlwcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlwcy13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5pcHMtd3JhcHBlciAuY29udGVudCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjZweDsgfVxuICAuaXBzLXdyYXBwZXIgLmNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLmlwcy1zZWN0aW9uLXdyYXBwZXIge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7IH1cblxuLmpzLWlwcy1zZWN0aW9uIHtcbiAgcGFkZGluZzogMCA2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuanMtaXBzLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuanMtaXBzLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgLmpzLWlwcy1zZWN0aW9uIC5pcHMtc2VjdGlvbi1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuanMtaXBzLXNlY3Rpb24gLmlwcy1zZWN0aW9uLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4OyB9IH1cbiAgLmpzLWlwcy1zZWN0aW9uIC50aXRsZSB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDsgfVxuICAgIC5qcy1pcHMtc2VjdGlvbiAudGl0bGUgaDQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLmpzLWlwcy1zZWN0aW9uIC50aXRsZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICMzRTNFM0U7XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIC5qcy1pcHMtc2VjdGlvbiAub3B0aW9ucyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uaXBzLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDlweDtcbiAgbWF4LXdpZHRoOiAyMjVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmlwcy1pdGVtLnNlbGVjdGVkLCAuaXBzLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oaWRlLXJlY29tbWVuZGF0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlwcy13cmFwcGVyIC5jb250ZW50IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4uaXBzLXNlY3Rpb24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pcHMtc2VjdGlvbi13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi5pcHMtc2VjdGlvbi13cmFwcGVyID4gZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUvMik7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaXBzLXNlY3Rpb24td3JhcHBlciA+IGRpdiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlLzQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5qcy1pcHMtcHJvZHVjdHMtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5qcy1pcHMtcHJvZHVjdHMtbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5qcy1pcHMtcHJvZHVjdHMtbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4uanMtaXBzLXByb2R1Y3RzLWxpc3QgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5qcy1pcHMtcHJvZHVjdHMge1xuICBtYXJnaW4tdG9wOiA1NXB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cbiAgLmpzLWlwcy1wcm9kdWN0cyBoMiB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuanMtaXBzLXByb2R1Y3RzID4gcCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgLmpzLWlwcy1wcm9kdWN0cyAuaXBzLXByb2R1Y3Quc2hvdyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0ZGNDYwNDsgfVxuICAgIC5qcy1pcHMtcHJvZHVjdHMgLmlwcy1wcm9kdWN0LnNob3cgYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5qcy1pcHMtcHJvZHVjdHMgLmlwcy1wcm9kdWN0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuanMtaXBzLXByb2R1Y3RzIC5pcHMtcHJvZHVjdCBhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5qcy1pcHMtcHJvZHVjdHMgLmlwcy1wcm9kdWN0IGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cblxuLmlwcy1wcm9kdWN0LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCA2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmlwcy1wcm9kdWN0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlLzMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlwcy1wcm9kdWN0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAuaXBzLXByb2R1Y3QtY29udGFpbmVyIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgLmlwcy1wcm9kdWN0LWNvbnRhaW5lciB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmlwcy1wcm9kdWN0LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcblxuLyoqXG4gKiBHYXAgYmV0d2VlbiBjb2x1bW5zIChhbGwgQ1NTIHVuaXRzIGFsbG93ZWQpIFtFeGFtcGxlOiAxLjVyZW1dXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9jb2x1bW4tZ2FwXG4gKi9cbiRwYXJhZ3JhcGhfY29sdW1uLWdhcDogNnJlbSAhZGVmYXVsdDtcbi8qKlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvY29sdW1uLXJ1bGVcbiAqL1xuJHBhcmFncmFwaF9jb2x1bW4tcnVsZTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9cGFyYWdyYXBoIHtcbiAgICBjb2x1bW4tZ2FwOiAkcGFyYWdyYXBoX2NvbHVtbi1nYXA7XG4gICAgY29sdW1uLXJ1bGU6ICRwYXJhZ3JhcGhfY29sdW1uLXJ1bGU7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIGEuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAmLS1jb2xzLTIsXG4gICAgICAgICYtLWNvbHMtMyxcbiAgICAgICAgJi0tY29scy00IHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgJi0tY29scy0zLFxuICAgICAgICAmLS1jb2xzLTQge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICYtLWNvbHMtNCB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2RlLW9wdGltYWwge1xuICAgICAgICBtYXgtd2lkdGg6IDQwZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGNvbHVtbi1jb3VudDogaW5pdGlhbDtcbiAgICB9XG59XG5cbi5jbXMtcGFnZS12aWV3IHtcbiAgICAubWFpbiAuY3MtcGFyYWdyYXBoIHtcbiAgICAgICAgcCxcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaXBzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5pcHMtc2VjdGlvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbn1cblxuLmpzLWlwcy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICAuaXBzLXNlY3Rpb24taW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHQtZ3JheTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JvZHktdGV4dDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm9wdGlvbnMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uaXBzLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9ibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi5zZWxlY3RlZCxcbiAgICAmOmhvdmVye1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3V0ZG9vcl9wcmltYXJ5X2Rhcms7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG91dGRvb3JfcHJpbWFyeV9kYXJrO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIH1cbn1cblxuLmhpZGUtcmVjb21tZW5kYXRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXBzLXdyYXBwZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5pcHMtc2VjdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbi5pcHMtc2VjdGlvbi13cmFwcGVyID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aWR0aDogY2FsYygxMDAlLzIpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uanMtaXBzLXByb2R1Y3RzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbi5qcy1pcHMtcHJvZHVjdHMtbGlzdCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uanMtaXBzLXByb2R1Y3RzIHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIGgye1xuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgICA+IHAge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAuaXBzLXByb2R1Y3Qge1xuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX21haW5fX2JyYW5kO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6JGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXBzLXByb2R1Y3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8zKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMik7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIFN3aXBlciA0LjQuNlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTksIDIwMThcbiAqL1xuLnN3aXBlci1jb250YWluZXIsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSwgLnN3aXBlci13cmFwcGVyLCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItM2QgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7IH1cblxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsID4gLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyLCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Njcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZywgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zY3JvbGxiYXItLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX193cmFwcGVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKCA1MCUgLSAxLjVyZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAyMDE7XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsOmhvdmVyIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbDpub3QoLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1mdWxsLXdpZHRoLXNsaWRlcikgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6IC0yLjc1cmVtO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWw6bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tZnVsbC13aWR0aC1zbGlkZXIpIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1uZXh0IHtcbiAgICAgICAgICByaWdodDogLTIuNzVyZW07XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1yZWFkeSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdjpub3QoLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLWRpc2FibGVkKSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2OmhvdmVyLCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdjphY3RpdmUsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDIuNHJlbTtcbiAgICBoZWlnaHQ6IDMuN3JlbTtcbiAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC41cmVtIDAgMDtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgei1pbmRleDogMjAwOyB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19wYWdpbmF0aW9uLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3BhZ2luYXRpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xOGRlZyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcGFnaW5hdGlvbi1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkY2RjZGM7IH1cbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWQ0MDA7IH1cbiAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19udW1iZXItLWN1cnJlbnQge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYsXG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3BhZ2luYXRpb24sXG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Njcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX193cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fd3JhcHBlcjpob3ZlciB7XG4gICAgICAgIHotaW5kZXg6IDU7IH0gfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWw6bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCkgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCBvcGFjaXR5IDAuMjVzIGxpbmVhciAwLjFzOyB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsOm5vdCguY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QpIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGU6bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUtLWluLXZpZXdwb3J0KSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsOm5vdCguY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QpIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUtLWluLXZpZXdwb3J0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbDpub3QoLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1saXN0KSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlOmhvdmVyIHtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Byb2R1Y3QtdGlsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWw6bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCkgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19wcm9kdWN0LXRpbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWw6bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCkgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19wcm9kdWN0LXRpbGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE3MCU7IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbDpub3QoLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1saXN0KSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Byb2R1Y3QtdGlsZSAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19wcm9kdWN0LXRpbGUgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Byb2R1Y3QtdGlsZSAuY3MtcHJvZHVjdC10aWxlX19tYWluIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zY3JvbGxiYXIge1xuICAgIGhlaWdodDogMC41cmVtOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsOm5vdCguY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QpIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcHJvZHVjdC10aWxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsOm5vdCguY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QpIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcHJvZHVjdC10aWxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbDpub3QoLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1saXN0KSAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Byb2R1Y3QtdGlsZSAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMS41cmVtIDRyZW07IH1cbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgICByaWdodDogMDsgfSB9XG5cbi5wcm9kdWN0cy1yZWxhdGVkLFxuLnByb2R1Y3RzLXVwc2VsbCxcbi5wcm9kdWN0cy1jcm9zc3NlbGwge1xuICBtYXJnaW4tdG9wOiA2NXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLnByb2R1Y3RzLXJlbGF0ZWQsXG4gICAgLnByb2R1Y3RzLXVwc2VsbCxcbiAgICAucHJvZHVjdHMtY3Jvc3NzZWxsIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuICAucHJvZHVjdHMtcmVsYXRlZCAuY3MtaGVhZGxpbmVfX3RpdGxlLFxuICAucHJvZHVjdHMtdXBzZWxsIC5jcy1oZWFkbGluZV9fdGl0bGUsXG4gIC5wcm9kdWN0cy1jcm9zc3NlbGwgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1yZWxhdGVkIC5jcy1oZWFkbGluZV9fdGl0bGUsXG4gICAgICAucHJvZHVjdHMtdXBzZWxsIC5jcy1oZWFkbGluZV9fdGl0bGUsXG4gICAgICAucHJvZHVjdHMtY3Jvc3NzZWxsIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucyc7XG5cbiRwcm9kdWN0cy1jYXJvdXNlbF90aWxlLXJhdGlvLXdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGggIWRlZmF1bHQ7XG4kcHJvZHVjdHMtY2Fyb3VzZWxfdGlsZS1yYXRpby1oZWlnaHQ6ICR0aWxlX2FzcGVjdC1yYXRpby1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0cy1jYXJvdXNlbF9oaWRlLW5hdi1idXR0b25zLW9uLW1vYmlsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdHMtY2Fyb3VzZWxfbmF2LWJ1dHRvbi1wb3NpdGlvbi10b3A6IGNhbGMoXG4gICAgNTAlIC0gMS41cmVtXG4pICFkZWZhdWx0OyAvLyAxLjVyZW0gcmVjb21wZW5zZXMgaGFsZiBvZiBoZWlnaHQgb2YgdGhlIGJ1bGxldC1wYWdpbmF0aW9uXG5cbiR0ZWFzZXJfaGlkZS1uYXYtYnV0dG9ucy1vbi1tb2JpbGU6ICRwcm9kdWN0cy1jYXJvdXNlbF9oaWRlLW5hdi1idXR0b25zLW9uLW1vYmlsZTtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbi10b3A6ICRwcm9kdWN0cy1jYXJvdXNlbF9uYXYtYnV0dG9uLXBvc2l0aW9uLXRvcDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgdGVhc2VyKCk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgICZfX25hdiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgICAgI3skcm9vdH1fX25hdixcbiAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24sXG4gICAgICAgICN7JHJvb3R9X19zY3JvbGxiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXMge1xuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgI3skcm9vdH06bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCkgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIG9wYWNpdHkgMC4yNXMgbGluZWFyIDAuMXM7XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19zbGlkZS0taW4tdmlld3BvcnQpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pbi12aWV3cG9ydCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtdGlsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICN7JHJvb3R9Om5vdCguY3MtcHJvZHVjdHMtY2Fyb3VzZWwtLWxpc3QpICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKFxuICAgICAgICAgICAgICAgICR3aWR0aDogJHByb2R1Y3RzLWNhcm91c2VsX3RpbGUtcmF0aW8td2lkdGgsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJHByb2R1Y3RzLWNhcm91c2VsX3RpbGUtcmF0aW8taGVpZ2h0LFxuICAgICAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAgICAgJGF1dG9wb3NpdGlvbjogdHJ1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcblxuICAgICAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zY3JvbGxiYXIge1xuICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAmX19wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgI3skcm9vdH06bm90KC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tbGlzdCkgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLXJlc2V0KFxuICAgICAgICAgICAgICAgICAgICAkY2hpbGRDbGFzczogI3skbnN9cHJvZHVjdC10aWxlLFxuICAgICAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fbmF2LS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtcmVsYXRlZCxcbi5wcm9kdWN0cy11cHNlbGwsXG4ucHJvZHVjdHMtY3Jvc3NzZWxsIHtcbiAgICBtYXJnaW4tdG9wOiA2NXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxuXG5cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1wcm9kdWN0cy1ncmlkIHtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0cy1ncmlkIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtcHJvZHVjdHMtZ3JpZC0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXByb2R1Y3RzLWdyaWQgLmNzLWFkZHRvY2FydCAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5cbi4jeyRuc31wcm9kdWN0cy1ncmlkIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgLmNzLWFkZHRvY2FydCB7XG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcHJvZHVjdHMtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjBGMEYwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICAgIG1pbi13aWR0aDogMTY1cHg7IH1cbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLWFkZHRvY2FydF9fYnV0dG9uIHN2Zy5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogLTdweDtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW0gLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgICAgIHBhZGRpbmc6IDAgOXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjByZW07IH1cbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtcHJvZHVjdC10aWxlX19zdG9jazpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggNnB4IDVweCAxM3B4O1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbCB7XG4gICAgICAgIG1pbi13aWR0aDogNzFweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAwcHg7XG4gICAgICAgIHdpZHRoOiA3MXB4OyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwgLmNzLXByb2R1Y3QtdGlsZV9fZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBmbGV4LXNocmluazogaW5pdGlhbDsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4OiAxOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1pbi13aWR0aDogMzAuMDFlbSkge1xuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtc2lkZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXNpZGVzIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1zaWRlcyB7XG4gICAgICAgICAgbGVmdDogNTNweDtcbiAgICAgICAgICBib3R0b206IDYwcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRlbnQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIydnc7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIC5jcy1idXlib3hfX3F0eS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1idXlib3hfX3F0eS13cmFwcGVyIC5jcy1idXlib3hfX3F0eS1sYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYnV5Ym94X19xdHktd3JhcHBlciAuY3MtYnV5Ym94X19xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIG1pbi13aWR0aDogOTVweDsgfSB9XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDMwLjAxZW0pIHtcbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDE4cHggMCAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0LmNvbmZpZy1ib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQsXG4gICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgd2lkdGg6IDE0MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1xdHktaW5jcmVtZW50IC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM0cHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1xdHktaW5jcmVtZW50IC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4cHg7IH1cbiAgICAgICAgICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1xdHktaW5jcmVtZW50IC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMHB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMzAuMDFlbSkge1xuICAuY3MtcHJvZHVjdHMtbGlzdCAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLWFkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE2NXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH1cbiAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jcy1wcm9kdWN0cy1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX25hbWUgYSB7XG4gICAgICB3aWR0aDogMjJ2dzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3RzLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1wcm9kdWN0cy1saXN0Om5vdCguY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwpIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3Q6bm90KC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCkgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLnByb2R1Y3RzLWNyb3Nzc2VsbCB7XG4gIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3RzLWNyb3Nzc2VsbCAuY3MtaGVhZGxpbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5wcm9kdWN0cy1jcm9zc3NlbGwgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1jcm9zc3NlbGwgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMDtcbiRwcm9kdWN0X2xpc3QtaXRlbS1wYWRkaW5nOiAwO1xuJHByb2R1Y3RfbGlzdC1jYXJvdXNlbC1icmVha3BvaW50OiAnPj10YWJsZXQnO1xuXG4uI3skbnN9cHJvZHVjdHMtbGlzdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci1saWdodDtcblxuICAgICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTY1cHg7XG5cbiAgICAgICAgICAgICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC03cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDlweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4wcmVtO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDZweCA1cHggMTNweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogMTM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3MXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwcHg7XG4gICAgICAgICAgICB3aWR0aDogNzFweDtcbiAgICAgICAgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnPnBob25lJykge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZScpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtc2lkZXMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTNweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLWxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zLXRvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjJ2dztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lJykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV5Ym94X19xdHktbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIC5jcy1idXlib3hfX3F0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWFkZHRvY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJywgJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcsICc+cGhvbmUnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICYuY29uZmlnLWJveCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50LFxuICAgICAgICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnLCAnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcsICc+cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMnZ3O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgjeyRyb290fS0tY2Fyb3VzZWwpIHtcbiAgICAgICAgI3skcm9vdH1fX2l0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3RfbGlzdC1jYXJvdXNlbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLWNyb3Nzc2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgLmNzLWhlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXByb2R1Y3QtZmluZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgcGFkZGluZy1ib3R0b20gMC4zcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0LWZpbmRlciB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX2JhY2stYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC40cywgMC4xNXMgbGluZWFyLCBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwKTsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b24sIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbiAqLCAuY3MtcHJvZHVjdC1maW5kZXJfX2JhY2stYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHJvZHVjdC1maW5kZXJfX2JhY2stYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fYmFjay1idXR0b25bZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbi1zcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogNGVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19iYWNrLWJ1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsZWZ0OiAxZW07IH1cbiAgICAuY3MtcHJvZHVjdC1maW5kZXJfX2JhY2stYnV0dG9uLS12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcCAuY3MtcHJvZHVjdC1maW5kZXJfX2JhY2stYnV0dG9uLS12aXNpYmxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC40cztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tY3VycmVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyLjZlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgZmxleDogMCAxIDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGJvcmRlci1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbi0tY2hlY2tlZCwgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLW1vYmlsZV8xIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC0gMHJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtbW9iaWxlXzEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoMW4gKyAxKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLW1vYmlsZV8yIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCA1MCUgLSAwLjVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLW1vYmlsZV8yIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb246bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1tb2JpbGVfMyAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMzMuMzMzMzMlIC0gMC42NjY2N3JlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtbW9iaWxlXzMgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLW1vYmlsZV80IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAyNSUgLSAwLjc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1tb2JpbGVfNCAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCg0biArIDQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtbW9iaWxlXzUgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDIwJSAtIDAuOHJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtbW9iaWxlXzUgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoNW4gKyA1KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLW1vYmlsZV82IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxNi42NjY2NyUgLSAwLjgzMzMzcmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1tb2JpbGVfNiAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCg2biArIDYpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLXRhYmxldF8xIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLSAwcmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtdGFibGV0XzEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoMW4gKyAxKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLXRhYmxldF8yIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLXRhYmxldF8yIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb246bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy10YWJsZXRfMyAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAzMy4zMzMzMyUgLSAwLjY2NjY3cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtdGFibGV0XzMgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLXRhYmxldF80IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDI1JSAtIDAuNzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy10YWJsZXRfNCAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCg0biArIDQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtdGFibGV0XzUgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgZmxleC1iYXNpczogY2FsYyggMjAlIC0gMC44cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtdGFibGV0XzUgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoNW4gKyA1KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLXRhYmxldF82IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDE2LjY2NjY3JSAtIDAuODMzMzNyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy10YWJsZXRfNiAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCg2biArIDYpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLSAwcmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogZmxleC1iYXNpcyBkb2VzIG5vdCByZXNwZWN0IGJveC1zaXppbmc6IGJvcmRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICogSXQgaXMgZml4ZWQgb24gRWRnZSBidXQgbm90IG9uIElFMTE6XG4gICAgICAgICAgICAgICAgICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwNjgxNi9cbiAgICAgICAgICAgICAgICAgICAgICogVG8gcHJvcGVybHkgY2FsY3VsYXRlIGZsZXgtYmFzaXMgd2UgaGF2ZSB0byBhZGQgZ2FwIChtYXJnaW4pXG4gICAgICAgICAgICAgICAgICAgICAqLyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoMW4gKyAxKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5pZTExIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAtIDFyZW0pOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLWRlc2t0b3BfMiAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggNTAlIC0gMC41cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogZmxleC1iYXNpcyBkb2VzIG5vdCByZXNwZWN0IGJveC1zaXppbmc6IGJvcmRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICogSXQgaXMgZml4ZWQgb24gRWRnZSBidXQgbm90IG9uIElFMTE6XG4gICAgICAgICAgICAgICAgICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwNjgxNi9cbiAgICAgICAgICAgICAgICAgICAgICogVG8gcHJvcGVybHkgY2FsY3VsYXRlIGZsZXgtYmFzaXMgd2UgaGF2ZSB0byBhZGQgZ2FwIChtYXJnaW4pXG4gICAgICAgICAgICAgICAgICAgICAqLyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzIgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5pZTExIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzIgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyggNTAlIC0gMS41cmVtKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzMgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDMzLjMzMzMzJSAtIDAuNjY2NjdyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBmbGV4LWJhc2lzIGRvZXMgbm90IHJlc3BlY3QgYm94LXNpemluZzogYm9yZGVyLWJveFxuICAgICAgICAgICAgICAgICAgICAgKiBJdCBpcyBmaXhlZCBvbiBFZGdlIGJ1dCBub3Qgb24gSUUxMTpcbiAgICAgICAgICAgICAgICAgICAgICogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTA2ODE2L1xuICAgICAgICAgICAgICAgICAgICAgKiBUbyBwcm9wZXJseSBjYWxjdWxhdGUgZmxleC1iYXNpcyB3ZSBoYXZlIHRvIGFkZCBnYXAgKG1hcmdpbilcbiAgICAgICAgICAgICAgICAgICAgICovIH1cbiAgICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLWRlc2t0b3BfMyAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmllMTEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLWRlc2t0b3BfMyAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAzMy4zMzMzMyUgLSAxLjY2NjY3cmVtKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzQgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDI1JSAtIDAuNzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBmbGV4LWJhc2lzIGRvZXMgbm90IHJlc3BlY3QgYm94LXNpemluZzogYm9yZGVyLWJveFxuICAgICAgICAgICAgICAgICAgICAgKiBJdCBpcyBmaXhlZCBvbiBFZGdlIGJ1dCBub3Qgb24gSUUxMTpcbiAgICAgICAgICAgICAgICAgICAgICogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTA2ODE2L1xuICAgICAgICAgICAgICAgICAgICAgKiBUbyBwcm9wZXJseSBjYWxjdWxhdGUgZmxleC1iYXNpcyB3ZSBoYXZlIHRvIGFkZCBnYXAgKG1hcmdpbilcbiAgICAgICAgICAgICAgICAgICAgICovIH1cbiAgICAgICAgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLWRlc2t0b3BfNCAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uOm50aC1jaGlsZCg0biArIDQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmllMTEgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLS1vcHRpb25zLWRlc2t0b3BfNCAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtb3B0aW9uIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAyNSUgLSAxLjc1cmVtKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzUgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDIwJSAtIDAuOHJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIGZsZXgtYmFzaXMgZG9lcyBub3QgcmVzcGVjdCBib3gtc2l6aW5nOiBib3JkZXItYm94XG4gICAgICAgICAgICAgICAgICAgICAqIEl0IGlzIGZpeGVkIG9uIEVkZ2UgYnV0IG5vdCBvbiBJRTExOlxuICAgICAgICAgICAgICAgICAgICAgKiBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMDY4MTYvXG4gICAgICAgICAgICAgICAgICAgICAqIFRvIHByb3Blcmx5IGNhbGN1bGF0ZSBmbGV4LWJhc2lzIHdlIGhhdmUgdG8gYWRkIGdhcCAobWFyZ2luKVxuICAgICAgICAgICAgICAgICAgICAgKi8gfVxuICAgICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtZGVza3RvcF81IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb246bnRoLWNoaWxkKDVuICsgNSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuaWUxMSAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtZGVza3RvcF81IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDIwJSAtIDEuOHJlbSk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1maW5kZXJfX3N0ZXAtLW9wdGlvbnMtZGVza3RvcF82IC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC1vcHRpb24ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxNi42NjY2NyUgLSAwLjgzMzMzcmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogZmxleC1iYXNpcyBkb2VzIG5vdCByZXNwZWN0IGJveC1zaXppbmc6IGJvcmRlci1ib3hcbiAgICAgICAgICAgICAgICAgICAgICogSXQgaXMgZml4ZWQgb24gRWRnZSBidXQgbm90IG9uIElFMTE6XG4gICAgICAgICAgICAgICAgICAgICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwNjgxNi9cbiAgICAgICAgICAgICAgICAgICAgICogVG8gcHJvcGVybHkgY2FsY3VsYXRlIGZsZXgtYmFzaXMgd2UgaGF2ZSB0byBhZGQgZ2FwIChtYXJnaW4pXG4gICAgICAgICAgICAgICAgICAgICAqLyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzYgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbjpudGgtY2hpbGQoNm4gKyA2KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5pZTExIC5jcy1wcm9kdWN0LWZpbmRlcl9fc3RlcC0tb3B0aW9ucy1kZXNrdG9wXzYgLmNzLXByb2R1Y3QtZmluZGVyX19zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTYuNjY2NjclIC0gMS44MzMzM3JlbSk7IH0gfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX29wdGlvbi1zaXplciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtZmluZGVyX19vcHRpb24tY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyoqXG4gICAgICAgICAqIFdlIGRvIG5vdCBhdXRvcHJlZml4IGdyaWQgc2luY2UgSUUxMSBoYXMgbWFueSBidWdzIGluIGl0cyBpbXBsZW1lbnRhdGlvblxuICAgICAgICAgKiBidXQgaW4gdGhpcyBzbWFsbCBjYXNlIGl0IGlzIHdvcmtpbmcgZmluZSBhcyB0ZXN0ZWQuXG4gICAgICAgICAqL1xuICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLW1zLWdyaWQtcm93czogbWlubWF4KDAsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAtbXMtZ3JpZC1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICAuaWUxMSAuY3MtcHJvZHVjdC1maW5kZXJfX29wdGlvbi1jb250ZW50IHtcbiAgICAgIC1tcy1ncmlkLXJvd3M6IDFmciBhdXRvO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0bzsgfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX29wdGlvbi1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIC1tcy1ncmlkLXJvdzogMTtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tYWxpZ246IGNlbnRlcjtcbiAgICBncmlkLXJvdzogMTsgfVxuICAuY3MtcHJvZHVjdC1maW5kZXJfX29wdGlvbi1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZ3JpZC1yb3c6IDI7XG4gICAgZ3JpZC1yb3c6IDI7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL21peGluJztcblxuJHByb2R1Y3QtZmluZGVyX2ZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8gSWYgc3dpdGNoZWQgdG8geWVzIHRoZW4gdGhlcmUgd2lsbCBiZSBhIHNlcGFyYXRlIGJhY2sgYnV0dG9uIGRpc3BsYXllZFxuLy8gaW5zaWRlIGVhY2ggc3RlcCBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgb25lLlxuJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXBlci1zdGVwOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFRlbGxzIGhvdyBtYW55IG9wdGlvbnMgc2hvdWxkIHBlciBlYWNoIHJvdyBzaG91bGQgYmUgc3VwcG9ydGVkIGF0IG1heGltdW0uXG4kcHJvZHVjdC1maW5kZXJfc3RlcC1vcHRpb24tbWF4LXBlci1yb3c6IDYgIWRlZmF1bHQ7XG4vLyBWZXJ0aWNhbCBnYXAgc2l6ZSBiZXR3ZWVuIHN0ZXAgb3B0aW9ucy5cbiRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXA6IDFyZW0gIWRlZmF1bHQ7XG4vLyBWYWx1ZSBmb3IganVzdGlmeS1jb250ZW50IG9mIG9wdGlvbnMgYm94ZXMuXG4kcHJvZHVjdC1maW5kZXJfanVzdGlmeS1vcHRpb25zOiBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBWYWx1ZSBvcHRpb24tc2l6ZXMgcGFkZGluZyBoYWNrLiAxMDAlIG1lYW5zIHRoYXQgb3B0aW9uIHdpbGwgYmUgc3F1YXJlLlxuJHByb2R1Y3QtZmluZGVyX3ZlcnRpY2FsLXJhdGlvOiAxMDAlICFkZWZhdWx0O1xuLy8gVmFsdWUgb2YgYmFjayBidXR0b24gdHJhbnNpdGlvblxuJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwLjRzLCAwLjE1cyBsaW5lYXIsXG4gICAgYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgY29sb3IgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLWljb24tcG9zaXRpb246ICdsZWZ0JyAhZGVmYXVsdDtcbi8vIFByZXZpb3VzIHN0ZXAgYnV0dG9uIHBvc2l0aW9uIHZhcmlhYmxlc1xuJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLWhvcml6b250YWwtcG9zaXRpb246IDUwJSAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl9iYWNrLWJ1dHRvbi1ob3Jpem9udGFsLXRyYW5zbGF0aW9uOiB0cmFuc2xhdGVYKC01MCUpICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1maW5kZXJfdGl0bGUtY29sb3I6ICRoZWFkbGluZV90aXRsZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl90aXRsZS1mb250LXNpemU6ICRoZWFkbGluZV90aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1maW5kZXJfdGl0bGUtZm9udC13ZWlnaHQ6ICRoZWFkbGluZV90aXRsZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl90aXRsZS1saW5lcy1lbmFibGVkOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZCAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl90aXRsZS1saW5lcy1jb2xvcjogJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWNvbG9yICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1maW5kZXJfZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl9vcHRpb24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1maW5kZXJfb3B0aW9uLWJvcmRlci1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZmluZGVyX29wdGlvbi1ib3JkZXItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWZpbmRlcl9vcHRpb24tYm9yZGVyLXJhZGl1czogMC41cmVtICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1maW5kZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZm9udC1zaXplOiAkcHJvZHVjdC1maW5kZXJfZm9udC1zaXplO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgcGFkZGluZy1ib3R0b20gMC4zcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmX19iYWNrLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkcHJvZHVjdC1maW5kZXJfYmFjay1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXRyYW5zaXRpb247XG4gICAgICAgIGxlZnQ6ICRwcm9kdWN0LWZpbmRlcl9iYWNrLWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06ICRwcm9kdWN0LWZpbmRlcl9iYWNrLWJ1dHRvbi1ob3Jpem9udGFsLXRyYW5zbGF0aW9uIHNjYWxlKDApO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHJvZHVjdC1maW5kZXJfYmFjay1idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHJvZHVjdC1maW5kZXJfYmFjay1idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJHByb2R1Y3QtZmluZGVyX2JhY2stYnV0dG9uLWhvcml6b250YWwtdHJhbnNsYXRpb25cbiAgICAgICAgICAgICAgICBzY2FsZSgxKTtcblxuICAgICAgICAgICAgQGlmICRwcm9kdWN0LWZpbmRlcl9iYWNrLWJ1dHRvbi1wZXItc3RlcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19zdGVwICYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3N0ZXAgJiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc3RlcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC40cztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdGVwLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3N0ZXAtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZShcbiAgICAgICAgICAgICRjb2xvcjogJHByb2R1Y3QtZmluZGVyX3RpdGxlLWNvbG9yLFxuICAgICAgICAgICAgJGZvbnQtc2l6ZTogJHByb2R1Y3QtZmluZGVyX3RpdGxlLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRmb250LXdlaWdodDogJHByb2R1Y3QtZmluZGVyX3RpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJGxpbmVzLWVuYWJsZWQ6ICRwcm9kdWN0LWZpbmRlcl90aXRsZS1saW5lcy1lbmFibGVkLFxuICAgICAgICAgICAgJGxpbmVzLWNvbG9yOiAkcHJvZHVjdC1maW5kZXJfdGl0bGUtbGluZXMtY29sb3JcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19zdGVwLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUoJGNvbG9yOiAkcHJvZHVjdC1maW5kZXJfZGVzY3JpcHRpb24tY29sb3IpO1xuICAgIH1cblxuICAgICZfX3N0ZXAtb3B0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHByb2R1Y3QtZmluZGVyX2p1c3RpZnktb3B0aW9ucztcbiAgICB9XG5cbiAgICAmX19zdGVwLW9wdGlvbiB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXA7XG4gICAgICAgIGJvcmRlcjogJHByb2R1Y3QtZmluZGVyX29wdGlvbi1ib3JkZXItd2lkdGggc29saWRcbiAgICAgICAgICAgICRwcm9kdWN0LWZpbmRlcl9vcHRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC1maW5kZXJfb3B0aW9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgYm9yZGVyLWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICYtLWNoZWNrZWQsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvZHVjdC1maW5kZXJfb3B0aW9uLWJvcmRlci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAvLyBCZWxvdyBkZWNsYXJhdGlvbnMgaGF2ZSB0byBiZSBzcGxpdCBpbnRvIDMgZGlmZmVyZW50IGxvb3BzIGJlY2F1c2VcbiAgICAgICAgLy8gb2YgdGhlIGNhc2NhZGUgLSB3ZSBuZWVkIGFsbCBtb2JpbGUgZGVjbGFyYXRpb25zLCB0aGVuIHRhYmxldCwgdGhlbiBkZXNrdG9wLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0byAkcHJvZHVjdC1maW5kZXJfc3RlcC1vcHRpb24tbWF4LXBlci1yb3cgKyAxIHtcbiAgICAgICAgICAgICRzdGVwLW9wdGlvbi1udW0tb2YtZ2FwczogJGkgLSAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fc3RlcC0tb3B0aW9ucy1tb2JpbGVfI3skaX0gJiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAjezEwMCUgLyAkaX0gLSAjeyRzdGVwLW9wdGlvbi1udW0tb2YtZ2FwcyAqICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX1uICsgI3skaX0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRvICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1tYXgtcGVyLXJvdyArIDEge1xuICAgICAgICAgICAgJHN0ZXAtb3B0aW9uLW51bS1vZi1nYXBzOiAkaSAtIDE7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zdGVwLS1vcHRpb25zLXRhYmxldF8jeyRpfSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICN7MTAwJSAvICRpfSAtICN7JHN0ZXAtb3B0aW9uLW51bS1vZi1nYXBzICogJHByb2R1Y3QtZmluZGVyX3N0ZXAtb3B0aW9uLWdhcCAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByb2R1Y3QtZmluZGVyX3N0ZXAtb3B0aW9uLWdhcDtcblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfW4gKyAjeyRpfSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdG8gJHByb2R1Y3QtZmluZGVyX3N0ZXAtb3B0aW9uLW1heC1wZXItcm93ICsgMSB7XG4gICAgICAgICAgICAkc3RlcC1vcHRpb24tbnVtLW9mLWdhcHM6ICRpIC0gMTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX3N0ZXAtLW9wdGlvbnMtZGVza3RvcF8jeyRpfSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAjezEwMCUgLyAkaX0gLSAjeyRzdGVwLW9wdGlvbi1udW0tb2YtZ2FwcyAqICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX1uICsgI3skaX0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBmbGV4LWJhc2lzIGRvZXMgbm90IHJlc3BlY3QgYm94LXNpemluZzogYm9yZGVyLWJveFxuICAgICAgICAgICAgICAgICAgICAgKiBJdCBpcyBmaXhlZCBvbiBFZGdlIGJ1dCBub3Qgb24gSUUxMTpcbiAgICAgICAgICAgICAgICAgICAgICogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTA2ODE2L1xuICAgICAgICAgICAgICAgICAgICAgKiBUbyBwcm9wZXJseSBjYWxjdWxhdGUgZmxleC1iYXNpcyB3ZSBoYXZlIHRvIGFkZCBnYXAgKG1hcmdpbilcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjezEwMCUgLyAkaX0gLSAjeyRzdGVwLW9wdGlvbi1udW0tb2YtZ2FwcyAqICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXAgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaSArICRwcm9kdWN0LWZpbmRlcl9zdGVwLW9wdGlvbi1nYXB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uLXNpemVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwcm9kdWN0LWZpbmRlcl92ZXJ0aWNhbC1yYXRpbztcbiAgICB9XG5cbiAgICAmX19vcHRpb24tY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXZSBkbyBub3QgYXV0b3ByZWZpeCBncmlkIHNpbmNlIElFMTEgaGFzIG1hbnkgYnVncyBpbiBpdHMgaW1wbGVtZW50YXRpb25cbiAgICAgICAgICogYnV0IGluIHRoaXMgc21hbGwgY2FzZSBpdCBpcyB3b3JraW5nIGZpbmUgYXMgdGVzdGVkLlxuICAgICAgICAgKi9cbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tYmxvY2stbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgZGlzcGxheTogLW1zLWdyaWQ7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGVcbiAgICAgICAgLW1zLWdyaWQtcm93czogbWlubWF4KDAsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIDFmcik7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAtbXMtZ3JpZC1yb3dzOiAxZnIgYXV0bztcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAmX19vcHRpb24taW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWdyaWQtcm93OiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1zZXBhcmF0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNsZWFyOiBib3RoO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwIDAgM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1zZXBhcmF0b3ItLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcblxuJHNlcGFyYXRvcl9jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc2VwYXJhdG9yX3N0eWxlOiAxcHggc29saWQgJHNlcGFyYXRvcl9jb2xvciAhZGVmYXVsdDtcblxuLiN7JG5zfXNlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wOiAkc2VwYXJhdG9yX3N0eWxlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLWFjY29yZGlvbiB7XG4gIG1hcmdpbjogMCAwIDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYWNjb3JkaW9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtYWNjb3JkaW9uLS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYWNjb3JkaW9uX19ncm91cHMsIC5jcy1hY2NvcmRpb25fX2l0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1hY2NvcmRpb25fX2dyb3VwIHtcbiAgICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIC5jcy1hY2NvcmRpb25fX2dyb3VwLWhlYWRsaW5lIHtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTsgfVxuICAuY3MtYWNjb3JkaW9uX19pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgLmNzLWFjY29yZGlvbl9faXRlbS1oZWFkbGluZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTc1NzU3OyB9XG4gICAgICAuY3MtYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgLmNzLWFjY29yZGlvbl9faXRlbS1oZWFkbGluZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYWNfbWludXMuc3ZnXCIpOyB9XG4gICAgICAuY3MtYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgLmNzLWFjY29yZGlvbl9faXRlbS1oZWFkbGluZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgLmNzLWFjY29yZGlvbl9faXRlbS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1hY2NvcmRpb25fX2l0ZW0taGVhZGxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjFyZW0gMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuICAgIC5jcy1hY2NvcmRpb25fX2l0ZW0taGVhZGxpbmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2FjX3BsdXMuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMi4ycmVtO1xuICAgICAgdG9wOiAxMHB4OyB9XG4gIC5jcy1hY2NvcmRpb25fX2l0ZW0taGVhZGxpbmUtc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMCA0LjVyZW0gMCAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1hY2NvcmRpb25fX2l0ZW0taGVhZGxpbmUtc3BhbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLWFjY29yZGlvbl9faXRlbS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMS4ycmVtIDAgMnJlbTtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1hY2NvcmRpb25fX2l0ZW0tY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRhY2NvcmRpb25fZ3JvdXAtbWFyZ2luOiAwIDAgM3JlbSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbl9ncm91cC1oZWFkbGluZS1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uX2dyb3VwLWhlYWRsaW5lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uX2l0ZW0tc2VwYXJhdG9yOiBub25lO1xuJGFjY29yZGlvbl9pdGVtLWZvbnQtd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLXBhZGRpbmc6IDEuMnJlbSAwICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uX2l0ZW0taGVhZGxpbmUtaWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2ZzogdHJ1ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLXBvc2l0aW9uOiBsZWZ0ICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tc3BhY2luZy1mcm9tLXRleHQ6IDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uX2l0ZW0taGVhZGxpbmUtaWNvbi13aWR0aDogMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLWhlaWdodDogMC4ycmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tZmlsbC0taG92ZXI6ICRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLWZpbGwgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uX2l0ZW0tLWFjdGl2ZS1oZWFkbGluZS1pY29uLWZpbGw6ICRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLWZpbGwgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uX2l0ZW0tLWFjdGl2ZS1oZWFkbGluZS1pY29uLXJvdGF0ZTogdHJ1ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb25faXRlbS0tYWN0aXZlLWNvbnRlbnQtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4vLyBCZWxvdyBuYXZpZ2F0aW9uX2ljb24gc2V0dGluZ3MgYXJlIHVzYWJsZSBvbmx5IGlmIHlvdSB1c2UgcHNldWRvaWNvblxuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tdHlwZTogJ3NpZ24nICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tZGVmYXVsdC0tb3BlbmVkOiAndXAnICFkZWZhdWx0O1xuJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tZGVmYXVsdC0tY2xvc2VkOiAnZG93bicgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAxLjhyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uX2l0ZW0taGVhZGxpbmUtaWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogJGFjY29yZGlvbl9pdGVtLWhlYWRsaW5lLWljb24tcG9zaXRpb24tc2lkZS1vZmZzZXQgK1xuICAgIDAuNnJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWFjY29yZGlvbiB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgJl9fZ3JvdXBzLFxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAkYWNjb3JkaW9uX2dyb3VwLW1hcmdpbjtcbiAgICB9XG5cbiAgICAmX19ncm91cC1oZWFkbGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGFjY29yZGlvbl9ncm91cC1oZWFkbGluZS1mb250LXNpemUpO1xuICAgICAgICBtYXJnaW46ICRhY2NvcmRpb25fZ3JvdXAtaGVhZGxpbmUtbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9faXRlbS1oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2RhcmstZ3JheTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvYWNfbWludXMuc3ZnJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9faXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAkYWNjb3JkaW9uX2l0ZW0tLWFjdGl2ZS1jb250ZW50LWRpc3BsYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWhlYWRsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxLjFyZW0gMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2FjX3BsdXMuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyLjJyZW07XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWhlYWRsaW5lLXNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogJGFjY29yZGlvbl9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDQuNXJlbSAwIDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaWYgKCRhY2NvcmRpb25faXRlbS1oZWFkbGluZS1pY29uLXBvc2l0aW9uID09IHJpZ2h0KSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAxLjJyZW0gMCAycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnV5Ym94IGN1c3RvbSB2YXJzXG4gKi9cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nLXRvcDogM3B4OyB9XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdHMtcmVsYXRlZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3RzLXJlbGF0ZWQgLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdHMtcmVsYXRlZCAuY3MtaGVhZGxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0cy1yZWxhdGVkIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jcy1wYWdlLXByb2R1Y3RfX21vYmlsZS1kZXRhaWxzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wYWdlLXByb2R1Y3RfX21vYmlsZS1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX21vYmlsZS1kZXRhaWxzIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX21vYmlsZS1kZXRhaWxzIC5wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19tb2JpbGUtZGV0YWlscyAucGFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtOyB9IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fbW9iaWxlLWRldGFpbHMgLnNrdSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1pbi13aWR0aDogMTY1cHg7IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X19tb2JpbGUtZGV0YWlscyAuc2t1IHN0cm9uZyxcbiAgICAuY3MtcGFnZS1wcm9kdWN0X19tb2JpbGUtZGV0YWlscyAuc2t1IGRpdiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fbW9iaWxlLWRldGFpbHMgLmNzLWJ1eWJveF9fYnJhbmQge1xuICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X19tb2JpbGUtZGV0YWlscyAuY3MtYnV5Ym94X19icmFuZCBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fbW9iaWxlLWRldGFpbHMgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wLWJyYW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fbW9iaWxlLWRldGFpbHMgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wLWJyYW5kIC5jcy1idXlib3hfX2JyYW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5jcy1wYWdlLXByb2R1Y3RfX3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X190b3AgLmNzLXBhZ2UtcHJvZHVjdF9fZ2FsbGVyeSB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X190b3AgLmNzLXBhZ2UtcHJvZHVjdF9fZ2FsbGVyeSAuZ2FsbGVyeS1wbGFjZWhvbGRlciB7XG4gICAgICAgIGhlaWdodDogNTB2dztcbiAgICAgICAgbWF4LWhlaWdodDogNTB2dztcbiAgICAgICAgcGFkZGluZzogMCAyM3Z3OyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wIC5jcy1wYWdlLXByb2R1Y3RfX21vYmlsZS1kZXRhaWxzIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fdG9wIC5jcy1wYWdlLXByb2R1Y3RfX2J1eWJveCB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDY2MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2dhbGxlcnkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1LjUlKTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH0gfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19idXlib3gge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAuY3MtcGFnZS1wcm9kdWN0X19idXlib3gge1xuICAgICAgd2lkdGg6IDQ1LjUlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbi5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4uY3MtcGFnZS1wcm9kdWN0X19iYWRnZS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG5cbi5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgbWF4LXdpZHRoOiAxMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIG1heC13aWR0aDogODhweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxM3B4OyB9IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLW5ldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1uZXcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1uZXcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1uZXcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWRpc2NvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGlzY291bnQgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1kaXNjb3VudCAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tc2FsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMUMzQTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1zYWxlIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tc2FsZSAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0ICsgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLXNhbGUgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLXBvcHVsYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tcG9wdWxhciAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLXBvcHVsYXIgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1wb3B1bGFyIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQgKyAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGFpbHlkZWFsLXBkcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMUMzQTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLS1kYWlseWRlYWwtcGRwIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS0tZGFpbHlkZWFsLXBkcCAuY3MtcGFnZS1wcm9kdWN0X19iYWRnZS10ZXh0ICsgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtLWRhaWx5ZGVhbC1wZHAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fYmFkZ2UtdGV4dCArIC5jcy1wYWdlLXByb2R1Y3RfX2JhZGdlLXRleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmNzLXBhZ2UtcHJvZHVjdF9fcGRwYm90dG9tIHtcbiAgcGFkZGluZzogMzBweCAwIDIwcHg7IH1cblxuLyoqXG4gKiBCdW5kbGUgUHJvZHVjdCBjdXN0b21pemF0aW9uXG4gKi9cbi5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWcge1xuICBwYWRkaW5nOiAwIDEuNXJlbSAwIDNyZW07XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0OyB9XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlIC5wcmljZS1ib3gucHJpY2UtZmluYWxfcHJpY2UgLnByaWNlLWNvbnRhaW5lci5wcmljZS1maW5hbF9wcmljZSB7XG4gIG9yZGVyOiAyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlOm5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZS1zaW1wbGlmaWVkKSAucHJvZHVjdC1hZGQtZm9ybSBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4ucGFnZS1wcm9kdWN0LWJ1bmRsZTpub3QoLnBhZ2UtcHJvZHVjdC1idW5kbGUtc2ltcGxpZmllZCkgLmJ1bmRsZS1vcHRpb25zLXdyYXBwZXIge1xuICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLnBhZ2UtcHJvZHVjdC1idW5kbGU6bm90KC5wYWdlLXByb2R1Y3QtYnVuZGxlLXNpbXBsaWZpZWQpIC5idW5kbGUtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDEuNXJlbSAxLjVyZW0gMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuXG4ucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tLFxuLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LWFkZC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFnZS1wcm9kdWN0LWdpZnRjYXJkIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gIHotaW5kZXg6IDI7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRoLmNvbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgTmFycm93XCI7XG4gIHBhZGRpbmc6IDE0cHggMCA3cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0aC5jb2wge1xuICAgICAgcGFkZGluZzogMjFweCAwIDE2cHg7IH0gfVxuICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGguY29sLnF0eSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybS1pbm5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybS1pbm5lciA+IC5zdG9jayB7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybS1pbm5lciB7XG4gIHBhZGRpbmc6IDAgMS41cmVtIDA7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWFjdGlvbnMgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIC5jcy1idXlib3hfX2FkZHRvY2FydC1zZWN1cmUge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIC5wcmljZS1ib3ggc3Bhbi5vbGQtcHJpY2UsXG4ucGFnZS1wcm9kdWN0LWdyb3VwZWQgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZ3JvdXBlZC1jb25maWcgLnByaWNlLWJveCBzcGFuLnNwZWNpYWwtcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1ncm91cGVkLWNvbmZpZyAucHJpY2UtYm94IC5ncm91cGVkLWNhbGN1bGF0ZWQtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTk5cHg7IH1cbiAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIC5wcmljZS1ib3ggLmdyb3VwZWQtY2FsY3VsYXRlZC1wcmljZSAucHJpY2UtbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnU3VidG90YWw6JztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAucHJpY2UtYm94ID4gLnByaWNlLWNvbnRhaW5lciAucHJpY2UtbGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1idXlib3hfX3N0b2NrIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX2lubmVyIC5jcy1idXlib3hfX3N0b2NrIHtcbiAgcGFkZGluZzogMjBweCAxNXB4IDAgMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAucGFnZS1wcm9kdWN0LWNvbmZpZ3VyYWJsZSAuY3MtYnV5Ym94X19zdG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtY29uZmlndXJhYmxlIC5jcy1idXlib3hfX2FkZHRvY2FydC1maWVsZHNldCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucGFnZS1wcm9kdWN0LWNvbmZpZ3VyYWJsZSAuY3MtYnV5Ym94X19hZGR0b2NhcnQtc2VjdXJlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wYWdlLXByb2R1Y3QtY29uZmlndXJhYmxlIC5jcy1idXlib3hfX2FkZHRvY2FydC1zZWN1cmUgc3ZnIHtcbiAgICAgIG1pbi13aWR0aDogOXB4OyB9XG4gIC5wYWdlLXByb2R1Y3QtY29uZmlndXJhYmxlIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAucGFnZS1wcm9kdWN0LWNvbmZpZ3VyYWJsZSAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyBkaXY6bm90KC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlL21peGluJztcblxuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtYnJlYWtwb2ludDogJz50YWJsZXQnICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1jb2x1bW5zLWd1dHRlci1tb2JpbGUtb25seTogMnJlbSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXI6IDNyZW0gIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0X3RvcC0yY29sLW1vYmlsZS1ib3JkZXItc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRwYWdlLXByb2R1Y3RfYnV5Ym94LWNvbHVtbi13aWR0aDogNDUuNSUgIWRlZmF1bHQ7XG5cbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLWZsZXgtZGlyZWN0aW9uOiByb3cgIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0X2JhZGdlcy16LWluZGV4OiAxMjAgIWRlZmF1bHQ7IC8vIHRvIG1ha2Ugc3VyZSBnYWxsZXJ5IGl0ZW1zIHdvbid0IG92ZXJsYXBcbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLXktYXhpcy1wbGFjZW1lbnQ6IHRvcCAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3RfYmFkZ2VzLXgtYXhpcy1wbGFjZW1lbnQ6IHJpZ2h0ICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF9iYWRnZXMteS1heGlzLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF9iYWRnZXMteC1heGlzLXBvc2l0aW9uOiAwICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdF9iYWRnZXMtZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJvZHVjdC1tb2JpbGUtbmFtZS1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4vKipcbiAqIEJ1eWJveCBjdXN0b20gdmFyc1xuICovXG4kcGFnZS1wcm9kdWN0LS1idW5kbGUtb3B0aW9ucy13cmFwcGVyLWJvcmRlcjogJHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1tb2JpbGUtYm9yZGVyLXNlcGFyYXRvciAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1jb250YWluZXItYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kcGFnZS1wcm9kdWN0LS1idW5kbGUtY29udGFpbmVyLWJvcmRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgc29saWRcbiAgICAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcblxuJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LW9uLWNvbnRhaW5lcjogdHJ1ZSAhZGVmYXVsdDtcbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zaG93LXRvcC1hcnJvdy1zaXplOiAycmVtICFkZWZhdWx0O1xuJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LXNoYWRvdzogNXB4IC01cHggMTBweCAwIHJnYmEoJGNvbG9yX21pbmVzaGFmdCwgMC4wOCkgIWRlZmF1bHQ7XG5cbiRwYWdlLXByb2R1Y3QtLWJ1bmRsZS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2Vfc3BlY2lhbC1jb2xvciAhZGVmYXVsdDtcblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IHtcbiAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0cy1yZWxhdGVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNzLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaGVhZGxpbmVfX3RpdGxle1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRuc31wYWdlLXByb2R1Y3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fbW9iaWxlLWRldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3Byb2R1Y3QtbW9iaWxlLW5hbWUtY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5za3Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV5Ym94X19icmFuZCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGFnZS1wcm9kdWN0X190b3AtYnJhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgLmNzLWJ1eWJveF9fYnJhbmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcGFnZS1wcm9kdWN0X3RvcC0yY29sLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAuY3MtcGFnZS1wcm9kdWN0X19nYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgIC5nYWxsZXJ5LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHZ3O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MHZ3O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIzdnc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtcGFnZS1wcm9kdWN0X19tb2JpbGUtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jcy1wYWdlLXByb2R1Y3RfX2J1eWJveCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcGFnZS1wcm9kdWN0X3RvcC0yY29sLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcGFnZS1wcm9kdWN0X2J1eWJveC1jb2x1bW4td2lkdGh9KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXlib3gge1xuICAgICAgICBib3JkZXItdG9wOiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLW1vYmlsZS1ib3JkZXItc2VwYXJhdG9yO1xuICAgICAgICBtYXJnaW4tdG9wOiAkcGFnZS1wcm9kdWN0X3RvcC0yY29sLWNvbHVtbnMtZ3V0dGVyLW1vYmlsZS1vbmx5IC8gMjtcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXItbW9iaWxlLW9ubHkgLyAyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgd2lkdGg6ICRwYWdlLXByb2R1Y3RfYnV5Ym94LWNvbHVtbi13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy16LWluZGV4O1xuICAgICAgICAjeyRwYWdlLXByb2R1Y3RfYmFkZ2VzLXktYXhpcy1wbGFjZW1lbnR9OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy15LWF4aXMtcG9zaXRpb247XG4gICAgICAgICN7JHBhZ2UtcHJvZHVjdF9iYWRnZXMteC1heGlzLXBsYWNlbWVudH06ICRwYWdlLXByb2R1Y3RfYmFkZ2VzLXgtYXhpcy1wb3NpdGlvbjtcbiAgICB9XG5cbiAgICAmX19iYWRnZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZ2UtcHJvZHVjdF9iYWRnZXMtZ3V0dGVyO1xuXG4gICAgICAgIEBpZiAkcGFnZS1wcm9kdWN0X2JhZGdlcy14LWF4aXMtcGxhY2VtZW50ID09IGxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcGFnZS1wcm9kdWN0X2JhZGdlcy1ndXR0ZXI7XG4gICAgICAgIH0gQGVsc2UgaWYgJHBhZ2UtcHJvZHVjdF9iYWRnZXMteC1heGlzLXBsYWNlbWVudCA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHBhZ2UtcHJvZHVjdF9iYWRnZXMtZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGlzY291bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGlzY291bnQnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2Rpc2NvdW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zYWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3NhbGUnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3NhbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcHVsYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgncG9wdWxhcicpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigncG9wdWxhcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwtcGRwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2RhaWx5ZGVhbC1wZHAnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ2RhaWx5ZGVhbC1wZHAnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCk7XG4gICAgfVxuXG4gICAgJl9fcGRwYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDIwcHg7XG4gICAgfVxufVxuXG4vKipcbiAqIEJ1bmRsZSBQcm9kdWN0IGN1c3RvbWl6YXRpb25cbiAqL1xuLiN7JG5zfWNvbnRhaW5lci0tcGFnZS1wZHAtYnVuZGxlLWNvbmZpZyB7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMCAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBAaWYgJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLXNob3ctdG9wLWFycm93LW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi4jeyRuc31jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWctY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2UtcHJvZHVjdC0tYnVuZGxlLWNvbnRhaW5lci1iYWNrZ3JvdW5kO1xufVxuXG4vLyBBIHBpZWNlIG9mIGNvZGUgdG8gc3R5bGUgcHJvcGVybHkgc3BlY2lhbCBwcmljZXMgZm9yIGJ1bmRsZSBwcm9kdWN0c1xuLy8gT3RoZXIgdHlwZXMgb2YgcHJvZHVjdCBoYXZlIGRpZmZlcmVudCBjb21iaW5hdGlvbiBvZiBjbGFzc2VzIC0gdGhleSB1c2UgLnNwZWNpYWwtcHJpY2UsIGJ1dCBub3QgYnVuZGxlcy5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlIHtcbiAgICAucHJpY2UtYm94LnByaWNlLWZpbmFsX3ByaWNlIC5wcmljZS1jb250YWluZXIucHJpY2UtZmluYWxfcHJpY2Uge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlOm5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZS1zaW1wbGlmaWVkKSB7XG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idW5kbGUtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtICRwYWdlLXByb2R1Y3RfdG9wLTJjb2wtY29sdW1ucy1ndXR0ZXIgLyAyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHBhZ2UtcHJvZHVjdF90b3AtMmNvbC1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIDEuNXJlbSAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wYWdlLXByb2R1Y3QtYnVuZGxlIHtcbiAgICAuY3MtYnV5Ym94X19wcmljZSB7XG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSB7XG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20sXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWFkZC1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtZ2lmdGNhcmQge1xuICAgIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG4ucGFnZS1wcm9kdWN0LWdyb3VwZWQge1xuICAgIHRoLmNvbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktc2Vjb25kYXJ5O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDAgN3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMjFweCAwIDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnF0eSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uLS1wcm9kdWN0LWZvcm0taW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4uc3RvY2sge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMDtcbiAgICB9XG5cbiAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LXNlY3VyZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIHtcbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBzcGFuLm9sZC1wcmljZSxcbiAgICAgICAgICAgIHNwYW4uc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdyb3VwZWQtY2FsY3VsYXRlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVse1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1N1YnRvdGFsOic7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICA+IC5wcmljZS1jb250YWluZXJ7XG4gICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIC5jcy1idXlib3hfX3N0b2NrIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV5Ym94X19zZWN0aW9uLS1wcm9kdWN0LWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICAuY3MtYnV5Ym94X19zdG9jayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHggMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1wcm9kdWN0LWNvbmZpZ3VyYWJsZSB7XG4gICAgLmNzLWJ1eWJveF9fc3RvY2sge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtZmllbGRzZXQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1zZWN1cmUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICBkaXY6bm90KC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtYnVuZGxlLWJveCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNzLWJ1bmRsZS1ib3ggLnByb2R1Y3QucHJpY2luZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idW5kbGUtYm94IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jcy1idW5kbGUtYm94IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWctY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfSB9XG4gIC5jcy1idW5kbGUtYm94IC5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1idW5kbGUtYm94IC50aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC43MTQzZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gICAgLmNzLWJ1bmRsZS1ib3ggLnRpdGxlICsgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtYnVuZGxlLWJveCAuYmFjay5jdXN0b21pemF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idW5kbGUtYm94IC5maWVsZHNldC1idW5kbGUtb3B0aW9ucyAubGVnZW5kLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idW5kbGUtYm94X19maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjsgfVxuICAuY3MtYnVuZGxlLWJveF9fcHJvZHVjdC1uYW1lIHtcbiAgICBtYXJnaW46IDAgMCAwLjVlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNzLWJ1bmRsZS1ib3hfX3Byb2R1Y3QtbmFtZS5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX29wdGlvbnMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtYnVuZGxlLWJveF9fb3B0aW9ucy1saXN0IC5jcy1idW5kbGUtYm94X19vcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWJ1bmRsZS1ib3hfX29wdGlvbnMtbGlzdCAuY3MtYnVuZGxlLWJveF9fb3B0aW9uIGlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNzLWJ1bmRsZS1ib3hfX29wdGlvbnMtbGlzdCAuY3MtYnVuZGxlLWJveF9fb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuY3MtYnVuZGxlLWJveF9fb3B0aW9ucy1saXN0IC5vcHRpb25zLWxpc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWJ1bmRsZS1ib3hfX29wdGlvbnMtbGlzdCAub3B0aW9ucy1saXN0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX3Byb2R1Y3Qtb3B0aW9uLW5hbWUubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX3F0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICBtaW4td2lkdGg6IDEzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idW5kbGUtYm94X19xdHkge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4OyB9IH1cbiAgICAuY3MtYnVuZGxlLWJveF9fcXR5IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuY3MtYnVuZGxlLWJveF9fcXR5IC5xdHkge1xuICAgICAgbWF4LXdpZHRoOiAxMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4OyB9XG4gICAgICAuaWUxMSAuY3MtYnVuZGxlLWJveF9fcXR5IC5xdHkge1xuICAgICAgICBtYXgtd2lkdGg6IDZyZW07IH1cbiAgICAuY3MtYnVuZGxlLWJveF9fcXR5IC5jcy1xdHktaW5jcmVtZW50X19idXR0b24ge1xuICAgICAgbWluLXdpZHRoOiAzNHB4OyB9XG4gICAgLmNzLWJ1bmRsZS1ib3hfX3F0eSAuY3MtYm94LWFkZHRvY2FydF9fbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnkgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2UgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnVuZGxlLWJveF9fc3VtbWFyeSAucHJpY2UtY29uZmlndXJlZF9wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYnVuZGxlLWJveF9fc3VtbWFyeSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5IC5wcmljZS1jb25maWd1cmVkX3ByaWNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5IC5jcy1idXlib3hfX2FkZHRvY2FydC1maWVsZHNldCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuY3MtYnVuZGxlLWJveF9fc3VtbWFyeS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTsgfSB9XG4gICAgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbjplbXB0eSwgLmNzLWJ1bmRsZS1ib3hfX3N1bW1hcnktc2VjdGlvbjpibGFuayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXByb2R1Y3QtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1idW5kbGUtYm94X19zdW1tYXJ5LXByb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgMCAxLjVyZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWJ1bmRsZS1ib3hfX2J1bmRlLWl0ZW1zIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtYnVuZGxlLWJveF9fYnVuZGxlLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jcy1idW5kbGUtYm94X19idW5kZS1pdGVtLW5hbWUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1idW5kbGUtYm94IC5maWVsZHNldCA+IHAucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG4gIC5jcy1idW5kbGUtYm94IC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC5jcy1idW5kbGUtYm94IC5wcmljZS1jb25maWd1cmVkX3ByaWNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuY3MtYnVuZGxlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCAucHJpY2UtbGFiZWwsXG4gIC5jcy1idW5kbGUtYm94IC5wcmljZS1hcy1jb25maWd1cmVkIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbi5zY3NzJztcblxuJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1tYXJnaW46IDAgMCAwLjcxNDNlbSAhZGVmYXVsdDsgLy8gMTVweCBmcm9tIGJvdHRvbSBiYXNlZCBvbiBlbSBmb250LXNpemluZyAoMS41ZW0pXG4kYnVuZGxlLWJveF9zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZTogMS41ZW0gIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X3Nob3ctYmFjay1idXR0b246IGZhbHNlICFkZWZhdWx0O1xuXG4kYnVuZGxlLWJveF9zdW1tYXJ5LXNlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRidW5kbGUtYm94X3N1bW1hcnktZWxlbWVudHMtZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X3N1bW1hcnktc2VjdGlvbi1wYWRkaW5nLW1vYmlsZTogJGJ1bmRsZS1ib3hfc3VtbWFyeS1lbGVtZW50cy1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tcGFkZGluZy10YWJsZXQ6ICRidW5kbGUtYm94X3N1bW1hcnktZWxlbWVudHMtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZWN0aW9uLXBhZGRpbmctbGFwdG9wLXVwOiAyICpcbiAgICAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcbiRidW5kbGUtYm94X3N1bW1hcnktc2VjdGlvbi1ib3JkZXI6ICRidW5kbGUtYm94X3N1bW1hcnktc2VwYXJhdG9yLWJvcmRlciAhZGVmYXVsdDtcblxuJGJ1bmRsZS1ib3hfc3VtbWFyeS1jb25maWd1cmVkLXByaWNlLWZvbnQtc2l6ZTogJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidW5kbGUtYm94X2FkZHRvY2FydC1tYXJnaW46ICRidW5kbGUtYm94X3N1bW1hcnktZWxlbWVudHMtZ3V0dGVyIDAgMCAhZGVmYXVsdDtcbiRidW5kbGUtYm94X2FkZHRvY2FydC1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcblxuJGJ1bmRsZS1ib3hfc3VtbWFyeS1idW5kbGUtaXRlbXMtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kYnVuZGxlLWJveF9zdW1tYXJ5LWJ1bmRsZS1pdGVtLW5hbWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJGJ1bmRsZS1ib3hfcmVxdWlyZWQtbWFyay1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWJ1bmRsZS1ib3gge1xuICAgICRyb290OiAmO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAucHJvZHVjdC5wcmljaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWctY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1tYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1bmRsZS1ib3hfc2VjdGlvbi10aXRsZS1mb250LXNpemU7XG5cbiAgICAgICAgKyBiciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2suY3VzdG9taXphdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0LWJ1bmRsZS1vcHRpb25zIHtcbiAgICAgICAgLmxlZ2VuZC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Jfd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmLmxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5jcy1idW5kbGUtYm94X19vcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbnMtbGlzdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Qtb3B0aW9uLW5hbWUubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAmX19xdHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEzNXB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDM0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9Ym94LWFkZHRvY2FydF9fbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdW1tYXJ5IHtcbiAgICAgICAgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2Uge1xuICAgICAgICAgICAgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRidW5kbGUtYm94X3N1bW1hcnktY29uZmlndXJlZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdW1tYXJ5LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAkYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tcGFkZGluZy1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogJGJ1bmRsZS1ib3hfc3VtbWFyeS1zZWN0aW9uLXBhZGRpbmctdGFibGV0O1xuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYnVuZGxlLWJveF9zdW1tYXJ5LXNlY3Rpb24tcGFkZGluZy1sYXB0b3AtdXAgMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjplbXB0eSxcbiAgICAgICAgJjpibGFuayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VtbWFyeS1wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3N1bW1hcnktcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlcjtcbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQge1xuICAgICAgICBtYXJnaW46ICRidW5kbGUtYm94X2FkZHRvY2FydC1tYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1bmRsZS1ib3hfYWRkdG9jYXJ0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAkYnVuZGxlLWJveF9zdW1tYXJ5LWJ1bmRsZS1pdGVtcy1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fYnVuZGUtaXRlbXMge1xuICAgICAgICBmb250LXNpemU6ICRidW5kbGUtYm94X3N1bW1hcnktYnVuZGxlLWl0ZW1zLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19idW5kbGUtaXRlbSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1bmRlLWl0ZW0tbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRidW5kbGUtYm94X3N1bW1hcnktYnVuZGxlLWl0ZW0tbmFtZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQgPiBwLnJlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAkYnVuZGxlLWJveF9zdW1tYXJ5LWVsZW1lbnRzLWd1dHRlciAwIDA7XG4gICAgICAgIGNvbG9yOiAkYnVuZGxlLWJveF9yZXF1aXJlZC1tYXJrLWNvbG9yO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl93aGl0ZTtcbiAgICB9XG4gICAgLnByaWNlLWNvbmZpZ3VyZWRfcHJpY2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC5wcmljZS1hcy1jb25maWd1cmVkIHtcbiAgICAgICAgLnByaWNlLWxhYmVsLFxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qLmNzLWluZGljYXRvciB7XG5cbiAgICAmX19mYXN0LXNoaXBwaW5nIHtcbiAgICAgICAgJi1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG93LXN0b2NrIHtcbiAgICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYWx0bztcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDAuOHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfY2VydWxlYW4tYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yX2FsdG87XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuXG4gICAgICAgICAgICAuaWUxMSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAwLjAzcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xLjNyZW07XG4gICAgICAgICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlY2VudGx5LWJvdWdodCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wLWF0dHJpYnV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWluZGVudDogMC4ycmVtO1xuICAgICAgICB0b3A6IC0wLjJyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIH1cblxuICAgICZfX2Zhc3Qtc2hpcHBpbmcsXG4gICAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICYtZWxlbWVudCB7XG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogNzglO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjNyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbXBvcnRhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi0tcG9zaXRpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2FwcGxlO1xuICAgICAgICAgICAgd2lkdGg6IDMuM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi44cmVtO1xuXG4gICAgICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwIDA7XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltcG9ydGFudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59Ki9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi5jcy1idXlib3gge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgLyogRGVmYXVsdCBzdHlsaW5nIGlzIGZvciBJTiBTVE9DSyB2YXJpYW50ICovXG4gIC8qIERlZmF1bHQgc3R5bGluZyBpcyBmb3IgSU4gU1RPQ0sgdmFyaWFudCAqL1xuICAvKipcbiAgICAgKiBEb3dubG9hZGFibGUgcHJvZHVjdHNcbiAgICAgKi9cbiAgLyoqXG4gICAgICogR3JvdXBlZCBwcm9kdWN0c1xuICAgICAqLyB9XG4gIC5jcy1idXlib3hfX3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwOyB9XG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAzcmVtOyB9IH1cbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uOmVtcHR5LCAuY3MtYnV5Ym94X19zZWN0aW9uOmJsYW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uLS1wcm9kdWN0LWZvcm0taW5uZXIge1xuICAgICAgcGFkZGluZzogMS41cmVtIDNyZW0gMCAzcmVtO1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAxM3B4IDEwcHggMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7IH0gfVxuICAuY3MtYnV5Ym94X19zZWN0aW9uLS1wcm9kdWN0LWZvcm0gPiAuc3RvY2sge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDE1cHggMCAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybSA+IC5zdG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gIC5jcy1idXlib3hfX3NlY3Rpb24tLWV4dHJhcyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3MtYnV5Ym94X19icmFuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5jcy1idXlib3hfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gIC5jcy1idXlib3hfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWJ1eWJveF9fcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLWJ1eWJveF9fcHJvZHVjdC1uYW1lIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY3MtYnV5Ym94X19yZXZpZXdzLXN1bW1hcnksIC5jcy1idXlib3hfX2hpZ2hsaWdodHMsIC5jcy1idXlib3hfX2RhaWx5LWRlYWwge1xuICAgIG1hcmdpbjogMS41cmVtIDAgMDsgfVxuICAgIC5jcy1idXlib3hfX3Jldmlld3Mtc3VtbWFyeTplbXB0eSwgLmNzLWJ1eWJveF9fcmV2aWV3cy1zdW1tYXJ5OmJsYW5rLCAuY3MtYnV5Ym94X19oaWdobGlnaHRzOmVtcHR5LCAuY3MtYnV5Ym94X19oaWdobGlnaHRzOmJsYW5rLCAuY3MtYnV5Ym94X19kYWlseS1kZWFsOmVtcHR5LCAuY3MtYnV5Ym94X19kYWlseS1kZWFsOmJsYW5rIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV5Ym94IC5vdmVydmlldyB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYnV5Ym94IC5vdmVydmlldyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAgIC5jcy1idXlib3ggLm92ZXJ2aWV3IHAsXG4gICAgLmNzLWJ1eWJveCAub3ZlcnZpZXcgbGksXG4gICAgLmNzLWJ1eWJveCAub3ZlcnZpZXcgc3BhbiB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYnV5Ym94X19zZWN0aW9uLS1lc3NlbnRpYWxzIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtYnV5Ym94X19wcmljZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgW2ZvbGRdO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdza3UgYnJhbmRzJyAncHJpY2UgYnJhbmRzJztcbiAgICBmbGV4LWRpcmVjdGlvbjogcmV2ZXJ0OyB9XG4gICAgLmNzLWJ1eWJveF9fcHJpY2UgLmNzLWJ1eWJveF9fYnJhbmQge1xuICAgICAgZ3JpZC1hcmVhOiBicmFuZHM7XG4gICAgICBncmlkLXJvdzogMSAvIGZvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLmNzLWJ1eWJveF9fYnJhbmQgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7IH1cbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5jcy1idXlib3hfX2JyYW5kIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtYnV5Ym94X19wcmljZSAucHJvZHVjdC1pbmZvLXN0b2NrLXNrdSB7XG4gICAgICBncmlkLWFyZWE6IHNrdTtcbiAgICAgIGdyaWQtcm93OiAyIC8gMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJvZHVjdC1pbmZvLXN0b2NrLXNrdSxcbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5jcy1idXlib3hfX2JyYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLWJ1eWJveF9fcHJpY2UgLnNrdSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnNrdSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmc6IDAgMCA1cHg7XG4gICAgICBncmlkLWFyZWE6IHByaWNlO1xuICAgICAgZ3JpZC1yb3c6IDIgLyAyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgNXB4OyB9IH1cbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UtY29udGFpbmVyLFxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtZnJvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZS5kaXNjb3VudGVkLXByaWNlIHtcbiAgICAgICAgICBjb2xvcjogI0NDMUMzQTsgfVxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSxcbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLm5vcm1hbC1wcmljZS53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICNDQzFDM0E7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94ID4gLnByaWNlLWNvbnRhaW5lciAucHJpY2UtbGFiZWwsXG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZS1mcm9tID4gLnByaWNlLWNvbnRhaW5lciAucHJpY2UtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5wcmljZS1tc3JwX3ByaWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciBzcGFuOm5vdCgub2xkLXByaWNlKSAucHJpY2UtbXNycF9wcmljZSAucHJpY2UtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5tYXAtb2xkLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAubWFwLW9sZC1wcmljZSAucHJpY2UtbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggPiAubWFwLW9sZC1wcmljZSAucHJpY2UtbGFiZWw6YmVmb3JlLFxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCA+IC5tYXAtb2xkLXByaWNlIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuY3MtYnV5Ym94X19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlICsgLm1hcC1vbGQtcHJpY2UgLnByaWNlLWxhYmVsOmJlZm9yZSxcbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UgKyAubWFwLW9sZC1wcmljZSAucHJpY2Utd3JhcHBlcixcbiAgICAgIC5jcy1idXlib3hfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLWZyb20gKyAubWFwLW9sZC1wcmljZSAucHJpY2UtbGFiZWw6YmVmb3JlLFxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAucHJpY2UtZnJvbSArIC5tYXAtb2xkLXByaWNlIC5wcmljZS13cmFwcGVyLFxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAucmVndWxhci1wcmljZS1jb250YWluZXIgKyAubWFwLW9sZC1wcmljZSAucHJpY2UtbGFiZWw6YmVmb3JlLFxuICAgICAgLmNzLWJ1eWJveF9fcHJpY2UgLnByaWNlLWJveCAucmVndWxhci1wcmljZS1jb250YWluZXIgKyAubWFwLW9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3MtYnV5Ym94IC5wcmljZS10aWVyX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzLCAuY3MtYnV5Ym94X19hZGR0b2NhcnQsXG4gIC5jcy1idXlib3ggLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fcHJvZHVjdC12YXJpYW50cyAucGFnZS1wcm9kdWN0LWJ1bmRsZSwgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC5wYWdlLXByb2R1Y3QtYnVuZGxlLFxuICAgIC5jcy1idXlib3ggLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5wYWdlLXByb2R1Y3QtYnVuZGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LnVwZGF0ZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC51cGRhdGUgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogNnB4OyB9XG4gIC5jcy1idXlib3hfX3Byb2R1Y3QtdmFyaWFudHMgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICBoZWlnaHQ6IDRlbTsgfVxuICAuY3MtYnV5Ym94X19wcm9kdWN0LXZhcmlhbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40ZW07IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtZmllbGRzZXQgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZ3JvdXBlZC1jb25maWcgLnByaWNlLWxhYmVsLFxuICAgICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1maWVsZHNldCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyB7XG4gICAgZmxleC1ncm93OiAxMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1hY3Rpb25zIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWdyb3VwZWQtY29uZmlnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWFjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1idXlib3hfX2FkZHRvY2FydC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDE5NXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1idXR0b24gc3Ryb25nLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNDsgfVxuICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtc2VjdXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LXNlY3VyZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtc2VjdXJlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jcy1idXlib3hfX2FkZHRvY2FydC1zZWN1cmUgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtc2VjdXJlIHN2ZyB7XG4gICAgICB3aWR0aDogOXB4OyB9XG4gICAgICAuY3MtYnV5Ym94X19hZGR0b2NhcnQtc2VjdXJlIHN2ZyBnIHtcbiAgICAgICAgZmlsbDogIzAwMDsgfVxuICAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEzOHB4O1xuICAgIG1hcmdpbjogMCAxLjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIC8qIERvd25sb2FkYWJsZSBwcm9kdWN0IG1vZGlmaWNhdGlvbiAtIGFsaWduIHdpdGggTWFnZW50byBCbGFuayAqLyB9XG4gICAgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIgLmNzLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3F0eS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEzOHB4OyB9IH1cbiAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAuY3MtYnV5Ym94X19xdHktd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3hfX3VwZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGUubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fdXBkYXRlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtYnV5Ym94X191cGRhdGUsIC5jcy1idXlib3hfX3VwZGF0ZTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5MEUyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtYnV5Ym94X191cGRhdGUgc3BhbiwgLmNzLWJ1eWJveF9fdXBkYXRlOnZpc2l0ZWQgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlOmJlZm9yZSwgLmNzLWJ1eWJveF9fdXBkYXRlOnZpc2l0ZWQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRBOTBFMjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRBOTBFMjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlOmFmdGVyLCAuY3MtYnV5Ym94X191cGRhdGU6dmlzaXRlZDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlICosIC5jcy1idXlib3hfX3VwZGF0ZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3hfX3VwZGF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7IH1cbiAgICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6YWZ0ZXIsIC5jcy1idXlib3hfX3VwZGF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSk6YWZ0ZXIsIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmFmdGVyIHtcbiAgICAgICAgdG9wOiAycHg7IH1cbiAgICAgIC5jcy1idXlib3hfX3VwZGF0ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6YmVmb3JlLCAuY3MtYnV5Ym94X191cGRhdGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLWJ1eWJveF9fdXBkYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSk6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ5ODBDMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94X191cGRhdGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXlib3hfX3VwZGF0ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1idXlib3hfX3VwZGF0ZVtkaXNhYmxlZF0ge1xuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2ZTViNTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZCRUM1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtYnV5Ym94X191cGRhdGVbZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtYnV5Ym94X191cGRhdGVbZGlzYWJsZWRdIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIC5jcy1idXlib3hfX3VwZGF0ZVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0I2QkVDNTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNkJFQzU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmNzLWJ1eWJveF9fdXBkYXRlW2Rpc2FibGVkXSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWJ1eWJveF9fdXBkYXRlLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtYnV5Ym94X191cGRhdGUtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJ1eWJveCAucHJvZHVjdC1hZGQtZm9ybSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmNzLWJ1eWJveF9fc3RvY2sge1xuICAgIG9yZGVyOiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjQTlDNTQ2OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3N0b2NrLnVzZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcmlnaHQ6IDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1idXlib3hfX3N0b2NrLmd1ZXN0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgLmNzLWJ1eWJveF9fc3RvY2sgPiBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICNBOUM1NDY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgcGFkZGluZzogMXB4IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgICAgLmNzLWJ1eWJveF9fc3RvY2sgPiBzcGFuIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtYnV5Ym94X19zdG9jay0tdW5hdmFpbGFibGUgPiBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDAwMDA7IH1cbiAgLmNzLWJ1eWJveCAub3V0b2ZzdG9jay1ub3RpY2Uge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuY3MtYnV5Ym94IC5vdXRvZnN0b2NrLW5vdGljZSBoNCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY3MtYnV5Ym94IC5vdXRvZnN0b2NrLW5vdGljZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuY3MtYnV5Ym94IC5vdXRvZnN0b2NrLW5vdGljZSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICNlNDFmMTI7IH1cbiAgLmNzLWJ1eWJveF9fc3RvY2staWNvbiB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5jcy1idXlib3hfX3N0b2NrLWljb24tLXVuYXZhaWxhYmxlIHtcbiAgICAgIHdpZHRoOiAxMHB4OyB9XG4gIC5jcy1idXlib3hfX3N0b2NrLXN1YnNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWJ1eWJveF9fYWRkdG8tbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtYnV5Ym94X19hZGR0by1pdGVtIHtcbiAgICBtYXJnaW46IDAuNXJlbSAycmVtIDAuNXJlbSAwOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8taXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY3MtYnV5Ym94X19hZGR0by1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0by1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gIC5jcy1idXlib3hfX2FkZHRvLWljb24ge1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIHRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyOyB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG8taWNvbi0td2lzaGxpc3Qge1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGZpbGw6ICNlNDFmMTI7IH1cbiAgICAuY3MtYnV5Ym94X19hZGR0by1pY29uLS1jb21wYXJlIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtYnV5Ym94X191c3BzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWJ1eWJveF9fdXNwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWJ1eWJveF9fdXNwLWljb24ge1xuICAgIGhlaWdodDogMi4ycmVtO1xuICAgIG1hcmdpbjogMXB4IDAuOHJlbSAwIDA7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLmNzLWJ1eWJveF9fdXNwLWljb24tLTEge1xuICAgICAgd2lkdGg6IDIuMnJlbTsgfVxuICAgIC5jcy1idXlib3hfX3VzcC1pY29uLS0yIHtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgLmNzLWJ1eWJveF9fdXNwLWljb24tLTMge1xuICAgICAgd2lkdGg6IDIuM3JlbTsgfVxuICAuY3MtYnV5Ym94X191c3AtbGFiZWwge1xuICAgIHdpZHRoOiBtaW4tY29udGVudDsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAuZG93bmxvYWRzID4gLmxhYmVsIHtcbiAgICBtYXJnaW46IDAgMCAwLjdlbTsgfVxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAubGVnZW5kLFxuICAuY3MtYnV5Ym94X19kb3dubG9hZGFibGUtb3B0aW9ucyAubGVnZW5kICsgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWJ1eWJveF9fZG93bmxvYWRhYmxlLW9wdGlvbnMgLmNob2ljZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAwLjdlbTsgfVxuICAgIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIGlucHV0IHtcbiAgICBtYXJnaW46IDAgMC43ZW0gMCAwOyB9XG4gIC5jcy1idXlib3hfX2Rvd25sb2FkYWJsZS1vcHRpb25zIC5maWVsZCAubGFiZWwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5jcy1idXlib3ggLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1idXlib3ggLmdyb3VwZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5zdG9jay1jb250YWluZXIgLm91dG9mc3RvY2stbm90aWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuc3RvY2stY29udGFpbmVyIC5vdXRvZnN0b2NrLW5vdGljZSBhIHtcbiAgICAgICAgY29sb3I6ICNlNDFmMTI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuY29sIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLmNvbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAuY29sOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0aGVhZCB0aC5pdGVtIHtcbiAgICAgIHdpZHRoOiAxNzBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0aGVhZCB0aC5pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0aGVhZCB0aC5pdGVtIHtcbiAgICAgICAgICB3aWR0aDogOTVweDsgfSB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0aGVhZCB0aC5wcmljZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0aGVhZCB0aC5wcmljZSB7XG4gICAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRoZWFkIHRoLnF0eSB7XG4gICAgICAgIHdpZHRoOiA5OHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQsXG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTRweDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgdGJvZHkgdGQuaXRlbSAucHJvZHVjdC1pdGVtLXNrdSxcbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRib2R5IHRkLml0ZW0gLnByb2R1Y3QtaXRlbS1tcnNwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwYWRkaW5nOiA3cHggMCAwOyB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCB0Ym9keSB0ZC5pdGVtIHN0cm9uZy5wcm9kdWN0LWl0ZW0tbmFtZSxcbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRib2R5IHRkLnByaWNlIHNwYW4ucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgdGJvZHkgdGQucHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRib2R5IHRkLnByaWNlIC5tYXAtb2xkLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRib2R5IHRkLnByaWNlIC5wcmljZS1jb250YWluZXIsXG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIHRib2R5IHRkLnByaWNlIC5wcmljZS1ib3gge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciAuc3BlY2lhbC1wcmljZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAucmVndWxhci1wcmljZS1jb250YWluZXIgLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnJlZ3VsYXItcHJpY2UtY29udGFpbmVyIC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdOb3c6JztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICNDQzFDM0E7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciAub2xkLXByaWNlIC5wcmljZS1sYWJlbCxcbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciAub2xkLXByaWNlIHNwYW4ucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciAub2xkLXByaWNlIHNwYW4ucHJpY2Uge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpXG50Ym9keVxudGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM2cHg7IH0gfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnF0eSB7XG4gICAgICB3aWR0aDogMTM4cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnF0eSB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAucXR5IHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNzLWJ1eWJveCAuZ3JvdXBlZCAucHJpY2UtZmluYWxfcHJpY2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjNlbTsgfVxuICAgIC5jcy1idXlib3ggLmdyb3VwZWQgLnN0b2NrLnVuYXZhaWxhYmxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDAwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtYnV5Ym94IC5ncm91cGVkIC5zdG9jay51bmF2YWlsYWJsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgcGFkZGluZzogM3B4IDEwcHggMnB4OyB9IH1cbiAgLmNzLWJ1eWJveCAjdmFsaWRhdGlvbi1tZXNzYWdlLWJveCB7XG4gICAgbWFyZ2luOiAwIDAgMWVtOyB9XG4gIC5jcy1idXlib3ggLmN1c3RvbWl6ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZS5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWJ1eWJveCAuY3VzdG9taXplLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWJ1eWJveCAuY3VzdG9taXplICosIC5jcy1idXlib3ggLmN1c3RvbWl6ZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3ggLmN1c3RvbWl6ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXlib3ggLmN1c3RvbWl6ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1eWJveCAuY3VzdG9taXplOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV5Ym94IC5jdXN0b21pemU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtYnV5Ym94IC5jdXN0b21pemVbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1idXlib3ggLmN1c3RvbWl6ZVtkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtYnV5Ym94IC5jdXN0b21pemUgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtLWlubmVyLFxuLnBhZ2UtcHJvZHVjdC1jb25maWd1cmFibGUgLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtLWlubmVyIHtcbiAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAwOyB9XG5cbi5jcy1wYWdlLXByb2R1Y3RfX3JlYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBwYWRkaW5nOiAyLjVyZW07IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fcmViZWwgLkxhbmRpbmctcGFnZS1ibG9ja19fdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fcmViZWwgLkJyYW5kLWxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX3JlYmVsIC51LWZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jcy1wYWdlLXByb2R1Y3RfX3JlYmVsIC51LWZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNzLXBhZ2UtcHJvZHVjdF9fcmViZWwgYSB7XG4gICAgY29sb3I6ICNGRjc0NDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGluZGljYXRvcl9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGluZGljYXRvcl9hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJGluZGljYXRvcl9jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuQG1peGluIGluZGljYXRvciB7XG4gICAgZGlzcGxheTogJGluZGljYXRvcl9kaXNwbGF5O1xuICAgIGNvbG9yOiAkaW5kaWNhdG9yX2NvbG9yO1xuXG4gICAgQGlmICRpbmRpY2F0b3JfZGlzcGxheSA9PSBmbGV4IG9yICRpbmRpY2F0b3JfZGlzcGxheSA9PSBpbmxpbmUtZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkaW5kaWNhdG9yX2FsaWduLWl0ZW1zO1xuICAgIH1cbn1cblxuJGluZGljYXRvcl9pY29uLXdpZHRoOiAyLjRlbSAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaWNvbi1oZWlnaHQ6IDEuOGVtICFkZWZhdWx0O1xuJGluZGljYXRvcl9pY29uLW1hcmdpbjogMCAxcmVtIDAgMCAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaWNvbi1maWxsOiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG5AbWl4aW4gaW5kaWNhdG9yLWljb24ge1xuICAgIHdpZHRoOiAkaW5kaWNhdG9yX2ljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkaW5kaWNhdG9yX2ljb24taGVpZ2h0O1xuICAgIG1hcmdpbjogJGluZGljYXRvcl9pY29uLW1hcmdpbjtcbiAgICBmaWxsOiAkaW5kaWNhdG9yX2ljb24tZmlsbDtcblxuICAgICoge1xuICAgICAgICBmaWxsOiAkaW5kaWNhdG9yX2ljb24tZmlsbDtcbiAgICB9XG59XG5cbiRpbmRpY2F0b3JfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRpbmRpY2F0b3JfaGVhZGxpbmUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5AbWl4aW4gaW5kaWNhdG9yLWhlYWRsaW5lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGluZGljYXRvcl9oZWFkbGluZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJGluZGljYXRvcl9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGluZGljYXRvcl9oZWFkbGluZS1jb2xvcjtcbn1cblxuJGluZGljYXRvcl90ZXh0LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGluZGljYXRvcl90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5AbWl4aW4gaW5kaWNhdG9yLXRleHQge1xuICAgIGRpc3BsYXk6ICRpbmRpY2F0b3JfdGV4dC1kaXNwbGF5O1xuICAgIGNvbG9yOiAkaW5kaWNhdG9yX3RleHQtY29sb3I7XG59XG5cbi8qLiN7JG5zfWluZGljYXRvciB7XG5cbiAgICAmX19mYXN0LXNoaXBwaW5nIHtcbiAgICAgICAgJi1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG93LXN0b2NrIHtcbiAgICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYWx0bztcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDAuOHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfY2VydWxlYW4tYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yX2FsdG87XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuXG4gICAgICAgICAgICAuaWUxMSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAwLjAzcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xLjNyZW07XG4gICAgICAgICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlY2VudGx5LWJvdWdodCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wLWF0dHJpYnV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWluZGVudDogMC4ycmVtO1xuICAgICAgICB0b3A6IC0wLjJyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIH1cblxuICAgICZfX2Zhc3Qtc2hpcHBpbmcsXG4gICAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICYtZWxlbWVudCB7XG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogNzglO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjNyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbXBvcnRhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi0tcG9zaXRpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2FwcGxlO1xuICAgICAgICAgICAgd2lkdGg6IDMuM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi44cmVtO1xuXG4gICAgICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwIDA7XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltcG9ydGFudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59Ki9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2luZGljYXRvcnMvbWl4aW5zLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5cbi8vIFNvbWUgZ2xvYmFsc1xuJGJ1eWJveF9mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHQ7XG4kYnV5Ym94X3NlY3Rpb24tZWxlbWVudHMtZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7IC8vIG1hcmdpbiBiZXR3ZWVuIGNvbXBvbmVudHMgaW5zaWRlIHNlY3Rpb25zLCBub3Qgc2VjdGlvbnMgaXRzZWxmXG5cbiRidXlib3hfc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kYnV5Ym94X3NlY3Rpb24tYm9yZGVyOiAkYnV5Ym94X3NlcGFyYXRvci1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1tb2JpbGU6IDEuNXJlbSAwICFkZWZhdWx0O1xuJGJ1eWJveF9zZWN0aW9uLXBhZGRpbmctdGFibGV0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1sYXB0b3AtdXA6IDAgMS41cmVtIDAgM3JlbSAhZGVmYXVsdDtcblxuJGJ1eWJveF9hZGR0b2NhcnRfZm9ybV9fYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbiRidXlib3hfY2F0ZWdvcnktbWFyZ2luOiAwICFkZWZhdWx0O1xuJGJ1eWJveF9jYXRlZ29yeS1uYW1lLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X2NhdGVnb3J5LW5hbWUtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRidXlib3hfYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2JyYW5kLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kYnV5Ym94X2JyYW5kLWVuYWJsZS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG4kYnV5Ym94X2JyYW5kLXNlcGFyYXRvci1jb250ZW50OiAnLycgIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTogMi44cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRidXlib3hfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0OiA0NnB4ICFkZWZhdWx0O1xuJGJ1eWJveF9wcm9kdWN0LW5hbWUtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcmljZS1mbGV4LWRpcmVjdGlvbjogcm93ICFkZWZhdWx0OyAvLyB3aGVuIDIgcHJpY2VzIGFyZSBkaXNwbGF5ZWQsIHRoZXkncmUgdXNpbmcgZmxleCBmb3IgYXJyYW5nZW1lbnRcbiRidXlib3hfcHJpY2UtZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuXG4kYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXNpemU6IDIuMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utb2xkLXByaWNlLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGJ1eWJveF9wcmljZS1vbGQtcHJpY2UtZm9udC10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkY29sb3Jfc3BlY2lhbF9wcmljZSAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1mb250LXNpemU6IDIuMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kYnV5Ym94X3Byb2R1Y3QtdmFyaWFudHMtc2VsZWN0LWhlaWdodDogNGVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X2FkZHRvY2FydC1maWVsZHNldC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtanVzdGlmeS1jb250ZW50OiBzdHJldGNoICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvY2FydC1hY3Rpb25zLWZsZXgtZ3JvdzogMTAgIWRlZmF1bHQ7IC8vIGJ1dHRvbiB3aWxsIGZpbGwgbWF4IHBvc3NpYmxlIGZyZWUgc3BhY2VcbiRidXlib3hfYWRkdG9jYXJ0LWJ1dHRvbi1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcblxuJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aDogMTM4cHggIWRlZmF1bHQ7XG4kYnV5Ym94X3F0eS13cmFwcGVyLXdpZHRoLWxhcHRvcC11cDogJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aCAhZGVmYXVsdDtcbiRidXlib3hfcXR5LXdyYXBwZXItbWFyZ2luOiAwIDEuNXJlbSAwIDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3F0eS13cmFwcGVyLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuXG4kYnV5Ym94X3N0b2NrLW1hcmdpbjogMCAwIDAuNXJlbSAhZGVmYXVsdDtcbiRidXlib3hfc3RvY2stY29sb3I6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRidXlib3hfc3RvY2stLXVuYXZhaWxhYmxlLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGJ1eWJveF9zdG9jay1pY29uLXdpZHRoOiAxMnB4ICFkZWZhdWx0OyAvLyB0YWtlbiBmcm9tIGNvbXBvbmVudC9pbmRpY2F0b3JzL21peGlucy5zY3NzXG4kYnV5Ym94X3N0b2NrLWljb24taGVpZ2h0OiBhdXRvICFkZWZhdWx0OyAvLyB0YWtlbiBmcm9tIGNvbXBvbmVudC9pbmRpY2F0b3JzL21peGlucy5zY3NzXG5cbiRidXlib3hfc3RvY2stc3Vic2NyaXB0aW9uLW1hcmdpbjogMCAwICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1saXN0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXI6IDJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheTogaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kYnV5Ym94X2FkZHRvLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1saW5rLS1ob3Zlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLS13aXNobGlzdC13aWR0aDogJGJ1eWJveF9hZGR0by1pY29uLWhlaWdodCAhZGVmYXVsdDtcbiRidXlib3hfYWRkdG8taWNvbi0tY29tcGFyZS13aWR0aDogMnJlbSAhZGVmYXVsdDtcbi8vIGlmIHlvdSB3YW50IHRvIGtlZXAgdGhlIHNhbWUgZmlsbC1jb2xvciB0aGF0IGxpbmsgaGFzLCBwbGVhc2UgdXNlICdjdXJyZW50Q29sb3InIGZvciBpY29ucyAnZmlsbCcgcHJvcC4gSXQgd2lsbCBhbHNvIGJlIGFuaW1hdGVkIGJ5IGRlZmF1bHQuXG4kYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw6ICRjb2xvcl9jcmltc29uICFkZWZhdWx0O1xuJGJ1eWJveF9hZGR0by1pY29uLS1jb21wYXJlLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGJ1eWJveF91c3BzLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcHMtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFkZWZhdWx0O1xuJGJ1eWJveF91c3BzLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGJ1eWJveF91c3BzLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwcy1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24taGVpZ2h0OiAyLjJyZW0gIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1pY29uLW1hcmdpbjogMXB4IDAuOHJlbSAwIDAgIWRlZmF1bHQ7XG4kYnV5Ym94X3VzcC1pY29uLWZpbGw6IGN1cnJlbnRDb2xvciAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tLTEtd2lkdGg6ICRidXlib3hfdXNwLWljb24taGVpZ2h0ICFkZWZhdWx0O1xuJGJ1eWJveF91c3AtaWNvbi0tMi13aWR0aDogMnJlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWljb24tLTMtd2lkdGg6IDIuM3JlbSAhZGVmYXVsdDtcbiRidXlib3hfdXNwLWxhYmVsLXdpZHRoOiBtaW4tY29udGVudCAhZGVmYXVsdDsgLy8gdGhpcyB2YWx1ZSB3aWxsIG1ha2Ugc3VyZSBpdCB3aWxsIGJyZWFjaCBhZnRlciBlYWNoIHdvcmQuXG5cbi8vIERvd25sb2FkYWJsZSBwcm9kdWN0c1xuJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjogMCAwIDAuN2VtICFkZWZhdWx0O1xuJGJ1eWJveF9kb3dubG9hZGFibGUtaGlkZS1kdXBsaWNhdGVkLXByaWNlLWJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gVXBkYXRlIGJ1dHRvblxuJGJ1eWJveF91cGRhdGUtYnV0dG9uLXR5cGU6ICdhZGR0bycgIWRlZmF1bHQ7XG4kYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3M6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSBidXR0b25cbiRidXlib3hfY3VzdG9taXplLWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRidXlib3hfY3VzdG9taXplLWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4uI3skbnN9YnV5Ym94IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkYnV5Ym94X2ZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ1eWJveF9saW5lLWhlaWdodDtcblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1tb2JpbGU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy10YWJsZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYnV5Ym94X3NlY3Rpb24tcGFkZGluZy1sYXB0b3AtdXA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5LFxuICAgICAgICAmOmJsYW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcm9kdWN0LWZvcm0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDNyZW0gMCAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXlib3hfYWRkdG9jYXJ0X2Zvcm1fX2JhY2tncm91bmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLnN0b2NrIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24tLWV4dHJhcyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkYnV5Ym94X2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X2NhdGVnb3J5LW1hcmdpbjtcbiAgICAgICAgY29sb3I6ICRidXlib3hfY2F0ZWdvcnktbmFtZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X2NhdGVnb3J5LW5hbWUtZm9udC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRidXlib3hfcHJvZHVjdC1uYW1lLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRidXlib3hfcHJvZHVjdC1uYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3Byb2R1Y3QtbmFtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Jldmlld3Mtc3VtbWFyeSxcbiAgICAmX19oaWdobGlnaHRzLFxuICAgICZfX2RhaWx5LWRlYWwge1xuICAgICAgICBtYXJnaW46ICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXIgMCAwO1xuXG4gICAgICAgICY6ZW1wdHksXG4gICAgICAgICY6Ymxhbmsge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JvZHktdGV4dDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgbGksXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi0tZXNzZW50aWFscyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciBbZm9sZF07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAnc2t1IGJyYW5kcydcbiAgICAgICAgICAgICdwcmljZSBicmFuZHMnO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcmV2ZXJ0O1xuXG4gICAgICAgIC5jcy1idXlib3hfX2JyYW5kIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYnJhbmRzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBmb2xkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtaW5mby1zdG9jay1za3Uge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBza3U7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAucHJvZHVjdC1pbmZvLXN0b2NrLXNrdSxcbiAgICAgICAgICAgIC5jcy1idXlib3hfX2JyYW5kIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNrdSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRidXlib3hfcHJpY2UtZmxleC1kaXJlY3Rpb247XG4gICAgICAgICAgICBmbGV4LXdyYXA6ICRidXlib3hfcHJpY2UtZmxleC13cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lcixcbiAgICAgICAgICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRidXlib3hfcHJpY2Utbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuXG4gICAgICAgICAgICAgICAgJi5kaXNjb3VudGVkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV5Ym94X3ByaWNlLW9sZC1wcmljZS1mb250LXRleHQtZGVjb3JhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlLFxuICAgICAgICAgICAgLm5vcm1hbC1wcmljZS53aXRoLXNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3ByaWNlLXNwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRidXlib3hfcHJpY2Utc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnByaWNlLWNvbnRhaW5lcixcbiAgICAgICAgICAgIC5wcmljZS1mcm9tID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1tc3JwX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlZ3VsYXItcHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBzcGFuOm5vdCgub2xkLXByaWNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1tc3JwX3ByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcC1vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubWFwLW9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnV5Ym94X3ByaWNlLW5vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5taW5pbWFsLXByaWNlICsgLm1hcC1vbGQtcHJpY2UsXG4gICAgICAgICAgICAucHJpY2UtZnJvbSArIC5tYXAtb2xkLXByaWNlLFxuICAgICAgICAgICAgLnJlZ3VsYXItcHJpY2UtY29udGFpbmVyICsgLm1hcC1vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9wcmljZS1ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS10aWVyX3ByaWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC12YXJpYW50cyxcbiAgICAmX19hZGR0b2NhcnQsXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAvLyBSZXNldCBtYXJnaW4gZm9yIGJ1bmRsZSBwcm9kdWN0c1xuICAgICAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LnVwZGF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgLmNzLWJ1eWJveF9fcXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC12YXJpYW50cyB7XG4gICAgICAgIC4jeyRuc31odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRidXlib3hfcHJvZHVjdC12YXJpYW50cy1zZWxlY3QtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdC12YXJpYW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1ncm91cGVkLWNvbmZpZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsLFxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheSA9PVxuICAgICAgICAgICAgZmxleCBvclxuICAgICAgICAgICAgJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtZGlzcGxheSA9PVxuICAgICAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkYnV5Ym94X2FkZHRvY2FydC1maWVsZHNldC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJ1eWJveF9hZGR0b2NhcnQtZmllbGRzZXQtYWxpZ24taXRlbXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZ3JvdXBlZC1jb25maWcge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1hY3Rpb25zIHtcbiAgICAgICAgZmxleC1ncm93OiAkYnV5Ym94X2FkZHRvY2FydC1hY3Rpb25zLWZsZXgtZ3JvdztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZ3JvdXBlZC1jb25maWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxOTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X2FkZHRvY2FydC1idXR0b24tZm9udC1zaXplO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1zZWN1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDlweDtcblxuICAgICAgICAgICAgZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3F0eS13cmFwcGVyLW1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiAkYnV5Ym94X3F0eS13cmFwcGVyLWZvbnQtc2l6ZTtcblxuICAgICAgICAuY3MtbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aC1sYXB0b3AtdXA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEb3dubG9hZGFibGUgcHJvZHVjdCBtb2RpZmljYXRpb24gLSBhbGlnbiB3aXRoIE1hZ2VudG8gQmxhbmsgKi9cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXBkYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZzogMTNweCAxNHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX191cGRhdGUtc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX191cGRhdGUtaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfdXBkYXRlLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X3VwZGF0ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHN0eWxpbmcgaXMgZm9yIElOIFNUT0NLIHZhcmlhbnQgKi9cbiAgICAmX19zdG9jayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIGNvbG9yOiAkYnV5Ym94X3N0b2NrLWNvbG9yO1xuXG4gICAgICAgICYudXNlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZ3Vlc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3M7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXVuYXZhaWxhYmxlIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2RhcmstcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5vdXRvZnN0b2NrLW5vdGljZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHN0eWxpbmcgaXMgZm9yIElOIFNUT0NLIHZhcmlhbnQgKi9cbiAgICAmX19zdG9jay1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRidXlib3hfc3RvY2staWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X3N0b2NrLWljb24taGVpZ2h0O1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICAgICYtLXVuYXZhaWxhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RvY2stc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAkYnV5Ym94X3N0b2NrLXN1YnNjcmlwdGlvbi1tYXJnaW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19hZGR0by1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgICAgICBkaXNwbGF5OiAkYnV5Ym94X2FkZHRvLWxpc3QtZGlzcGxheTtcblxuICAgICAgICBAaWYgJGJ1eWJveF9hZGR0by1saXN0LWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRidXlib3hfYWRkdG8tbGlzdC1kaXNwbGF5ID09XG4gICAgICAgICAgICBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRidXlib3hfYWRkdG8tbGlzdC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG8taXRlbSB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtICRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXIgMC41cmVtIDA7XG5cbiAgICAgICAgQGlmICRidXlib3hfYWRkdG8taXRlbS1pdGVtcy1ndXR0ZXIgIT0gMCB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiAkYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfYWRkdG8tbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV5Ym94X2FkZHRvLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgQGlmICRidXlib3hfYWRkdG8tbGluay1kaXNwbGF5ID09XG4gICAgICAgICAgICBmbGV4IG9yXG4gICAgICAgICAgICAkYnV5Ym94X2FkZHRvLWxpbmstZGlzcGxheSA9PVxuICAgICAgICAgICAgaW5saW5lLWZsZXhcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRidXlib3hfYWRkdG8tbGluay0taG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0by1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkYnV5Ym94X2FkZHRvLWljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfYWRkdG8taWNvbi0td2lzaGxpc3Qtd2lkdGg7XG4gICAgICAgICAgICBmaWxsOiAkYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X2FkZHRvLWljb24tLWNvbXBhcmUtd2lkdGg7XG4gICAgICAgICAgICBmaWxsOiAkYnV5Ym94X2FkZHRvLWljb24tLWNvbXBhcmUtZmlsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzcHMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGRpc3BsYXk6ICRidXlib3hfdXNwcy1kaXNwbGF5O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogJGJ1eWJveF91c3BzLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRidXlib3hfdXNwcy1jb2xvcjtcblxuICAgICAgICBAaWYgJGJ1eWJveF91c3BzLWRpc3BsYXkgPT0gZmxleCBvciAkYnV5Ym94X3VzcHMtZGlzcGxheSA9PSBpbmxpbmUtZmxleFxuICAgICAgICB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRidXlib3hfdXNwcy1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJ1eWJveF91c3BzLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNwIHtcbiAgICAgICAgZGlzcGxheTogJGJ1eWJveF91c3AtZGlzcGxheTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX191c3AtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGJ1eWJveF91c3AtaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogJGJ1eWJveF91c3AtaWNvbi1tYXJnaW47XG4gICAgICAgIGZpbGw6ICRidXlib3hfdXNwLWljb24tZmlsbDtcblxuICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV5Ym94X3VzcC1pY29uLS0xLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMiB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF91c3AtaWNvbi0tMi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLTMge1xuICAgICAgICAgICAgd2lkdGg6ICRidXlib3hfdXNwLWljb24tLTMtd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c3AtbGFiZWwge1xuICAgICAgICB3aWR0aDogJGJ1eWJveF91c3AtbGFiZWwtd2lkdGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG93bmxvYWRhYmxlIHByb2R1Y3RzXG4gICAgICovXG4gICAgJl9fZG93bmxvYWRhYmxlLW9wdGlvbnMge1xuICAgICAgICAvLyBHbG9iYWwgXCJEb3dubG9hZHNcIiBsYWJlbFxuICAgICAgICAuZG93bmxvYWRzID4gLmxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcm0gbGVnZW5kIChhY3R1YWxseSBpdCdzIGR1cGxpY2F0ZWQgLmRvd25sb2FkcyA+IGxhYmVsKS5cbiAgICAgICAgLy8gQWZ0ZXIgbGVnZW5kIHRoZXJlJ3MgYSBsaW5lLWJyZWFrIHdoaWNoIGlzIGFsc28gaGlkZGVuIGhlcmVcbiAgICAgICAgLmxlZ2VuZCB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJiArIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2luZ2xlIG9wdGlvbiB3cmFwcGVyXG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1eWJveF9kb3dubG9hZGFibGUtb3B0aW9uLW1hcmdpbjtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3B0aW9uIGNoZWNrYm94XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjdlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcHRpb24gbGFiZWxcbiAgICAgICAgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERvd25sb2FkYWJsZSBwcm9kdWN0cyBoYXZlIGR1cGxpY2F0ZWQgcHJpY2UgYm94IGluc2lkZSB0aGUgb3B0aW9uc1xuICAgIC8vIEl0IGJlaGF2ZXMgZXhhY2x0eSB0aGUgc2FtZSB3YXkgb3JpZ2luYWwgZG9lcy4gQ2hvb3NpbmcgYW4gb3B0aW9uIHVwZGF0ZXMgYm90aCBvZiB0aGVtXG4gICAgQGlmICRidXlib3hfZG93bmxvYWRhYmxlLWhpZGUtZHVwbGljYXRlZC1wcmljZS1ib3gge1xuICAgICAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAmIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1maW5hbF9wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyb3VwZWQgcHJvZHVjdHNcbiAgICAgKi9cbiAgICAuZ3JvdXBlZCB7XG4gICAgICAgIC5zdG9jay1jb250YWluZXIge1xuICAgICAgICAgICAgLm91dG9mc3RvY2stbm90aWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV5Ym94X2FkZHRvLWljb24tLXdpc2hsaXN0LWZpbGw7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBSZXNldCBtYXJnaW4gYmV0d2VlbiBwcm9kdWN0IG9wdGlvbnMgKHF0eSBjaG9vc2VycykgYW5kIGFkZC10by1jYXJ0IGJ1dHRvblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC8vIEFsaWduIGNvbHVtbnMgdG8gdGhlIGNlbnRlciBhbmQgcmVzZXQgcGFkZGluZyBmb3IgZmlyc3QgYW5kIGxhc3QgY29sdW1ucyBvZiB0aGUgdGFibGVzXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICB0aC5pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoLnByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHRoLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoLnF0eSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5OHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGQsXG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRoZWFkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Jfd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuXG4gICAgICAgICAgICAmLml0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NiU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAmLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1pdGVtLXNrdSxcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1tcnNwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pdGVtIHN0cm9uZy5wcm9kdWN0LWl0ZW0tbmFtZSxcbiAgICAgICAgICAgICAgICAmLnByaWNlIHNwYW4ucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAubWFwLW9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnTm93Oic7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1eWJveF9wcmljZS1zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCxcbiAgICAgICAgICAgICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Bhbi5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscylcbiAgICAgICAgICAgICAgICB0Ym9keVxuICAgICAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHF0eS1zd2l0Y2hlciB3aWR0aCAoZm9yIHdob2xlIHRhYmxlIGNvbHVtbilcbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1eWJveF9xdHktd3JhcHBlci13aWR0aDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNwbGF5IHByaWNlIGJlbG93IHByb2R1Y3Qgb3B0aW9uIGFuZCBtYWtlIHNvbWUgc3BhY2luZyBiZXR3ZWVuIG9wdGlvbidzIG5hbWUgYW5kIHByaWNlXG4gICAgICAgIC5wcmljZS1maW5hbF9wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b2NrLnVuYXZhaWxhYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9kYXJrLXJlZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTBweCAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cGVkIHByb2R1Y3RzIHZhbGlkYXRlIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGhhcyBxdHkgPiAwLlxuICAgIC8vIEFkZCBzcGFjaW5nIGJlZXR3ZWVuIHZhbGlkYXRpb24gZXJyb3IgYW5kIGFkZC10by1jYXJ0IGJ1dHRvbi5cbiAgICAjdmFsaWRhdGlvbi1tZXNzYWdlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICB9XG5cbiAgICAuY3VzdG9taXplIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRidXlib3hfY3VzdG9taXplLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X2N1c3RvbWl6ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMiAqICRidXlib3hfc2VjdGlvbi1lbGVtZW50cy1ndXR0ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGJ1eWJveF9jdXN0b21pemUtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkYnV5Ym94X2N1c3RvbWl6ZS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtYnVuZGxlLFxuLnBhZ2UtcHJvZHVjdC1jb25maWd1cmFibGUge1xuICAgIC5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMDtcbiAgICB9XG59XG5cbi8vIFJlYmVsIFNwb3J0cyBibG9ja1xuLmNzLXBhZ2UtcHJvZHVjdF9fcmViZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgcGFkZGluZzogMi41cmVtO1xuXG4gICAgLkxhbmRpbmctcGFnZS1ibG9ja19fdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuQnJhbmQtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgICAudS1mbG9hdC1sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC51LWZsb2F0LXJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZm9ybSwgLmNzLWZvcm1fX2ZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLWZvcm1fX2ZpZWxkICsgLmNzLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jcy1mb3JtLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1mb3JtX19idXR0b24sIC5jcy1mb3JtX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWZvcm1fX2J1dHRvbiAqLCAuY3MtZm9ybV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtZm9ybV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWZvcm1fX2J1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uLXNwYW4ge1xuICBtYXJnaW4tdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uLWljb24ge1xuICBtYXgtd2lkdGg6IDFlbTtcbiAgbWF4LWhlaWdodDogMS40cmVtO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHJpZ2h0OiAxZW07IH1cblxuLmZvcm0sXG4uZm9ybSAuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uZm9ybSAuZmllbGQgKyAuZmllbGQge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmNvbnRhY3QgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEge1xuICBtYXgtaGVpZ2h0OiA4MHB4OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGZvcm1fYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31mb3JtIHtcbiAgICAmLFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cblxuLmZvcm0ge1xuICAgICYsXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgKyAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdCB7XG4gICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyouY3MtaW5kaWNhdG9yIHtcblxuICAgICZfX2Zhc3Qtc2hpcHBpbmcge1xuICAgICAgICAmLWVsZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb3ctc3RvY2sge1xuICAgICAgICBtYXJnaW46IC0wLjVyZW0gMCAwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9hbHRvO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMC44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9jZXJ1bGVhbi1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3JfYWx0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7XG5cbiAgICAgICAgICAgIC5pZTExIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtIDAuMDNyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEuM3JlbTtcbiAgICAgICAgICAgIGxlZnQ6IDAuN3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVjZW50bHktYm91Z2h0IHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDIuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi4zcmVtO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3AtYXR0cmlidXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAwLjJyZW07XG4gICAgICAgIHRvcDogLTAuMnJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgfVxuXG4gICAgJl9fZmFzdC1zaGlwcGluZyxcbiAgICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgJi1lbGVtZW50IHtcbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiA3OCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuM3JlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWltcG9ydGFudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmLS1wb3NpdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfYXBwbGU7XG4gICAgICAgICAgICB3aWR0aDogMy4zcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjhyZW07XG5cbiAgICAgICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZyZWUtc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDAgMDtcblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1wb3J0YW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbn0qL1xuLmNzLWluZGljYXRvci1sb3ctc3RvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTAuN3JlbSAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMC41ZW07XG4gIGNvbG9yOiAjRkY0NjA0OyB9XG4gIC5jcy1pbmRpY2F0b3ItbG93LXN0b2NrOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHJpZ2h0OiAxLjNyZW07XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDApO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAuY3MtaW5kaWNhdG9yLWxvdy1zdG9ja19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1pbmRpY2F0b3ItbG93LXN0b2NrX19pY29uIHtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIGFuaW1hdGlvbjogcmluZ2luZyA2cyBpbmZpbml0ZTsgfVxuICAuY3MtaW5kaWNhdG9yLWxvdy1zdG9ja19fbGFiZWwgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5Aa2V5ZnJhbWVzIHJpbmdpbmcge1xuICAwJSxcbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTsgfVxuICAzJSxcbiAgNyUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMjdkZWcpOyB9XG4gIDUlLFxuICA5JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgtMjdkZWcpOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kaWNhdG9ycy9taXhpbnMnO1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRpbmRpY2F0b3ItbG93LXN0b2NrX3BhZGRpbmc6IDAuNWVtICFkZWZhdWx0O1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19kaXNwbGF5LXRvcC1hcnJvdzogdHJ1ZSAhZGVmYXVsdDtcbiRpbmRpY2F0b3ItbG93LXN0b2NrX3RvcC1hcnJvdy1mcm9tLXJpZ2h0OiAxLjNyZW0gIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi13aWR0aDogMmVtICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1oZWlnaHQ6ICRpbmRpY2F0b3JfaWNvbi1oZWlnaHQgIWRlZmF1bHQ7IC8vIHRha2VuIGZyb20gLi9taXhpbnMuc2Nzc1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1maWxsOiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19pY29uLWFwcGx5LXJpbmdpbmctYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1yaW5naW5nLWFuaW1hdGlvbi1yZXBlYXQ6IDZzICFkZWZhdWx0O1xuXG4kaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1tYWtlLWtleXdvcmRzLWJvbGQ6IHRydWUgIWRlZmF1bHQ7XG4kaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1rZXl3b3Jkcy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLWxvdy1zdG9jayB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAtMC43cmVtIDAgMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbmRpY2F0b3ItbG93LXN0b2NrX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJGluZGljYXRvci1sb3ctc3RvY2tfcGFkZGluZztcbiAgICBjb2xvcjogJGluZGljYXRvci1sb3ctc3RvY2tfY29sb3I7XG5cbiAgICBAaWYgJGluZGljYXRvci1sb3ctc3RvY2tfZGlzcGxheS10b3AtYXJyb3cge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAkaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctZnJvbS1yaWdodDtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGluZGljYXRvci1sb3ctc3RvY2tfYmFja2dyb3VuZCwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skaW5kaWNhdG9yLWxvdy1zdG9ja190b3AtYXJyb3ctc2l6ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6ICRpbmRpY2F0b3ItbG93LXN0b2NrX2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICAgICAgICBmaWxsOiAkaW5kaWNhdG9yLWxvdy1zdG9ja19pY29uLWZpbGw7XG5cbiAgICAgICAgQGlmICRpbmRpY2F0b3ItbG93LXN0b2NrX2ljb24tYXBwbHktcmluZ2luZy1hbmltYXRpb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiByaW5naW5nXG4gICAgICAgICAgICAgICAgJGluZGljYXRvci1sb3ctc3RvY2tfaWNvbi1yaW5naW5nLWFuaW1hdGlvbi1yZXBlYXRcbiAgICAgICAgICAgICAgICBpbmZpbml0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1tYWtlLWtleXdvcmRzLWJvbGQge1xuICAgICAgICAmX19sYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaW5kaWNhdG9yLWxvdy1zdG9ja19sYWJlbC1rZXl3b3Jkcy1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgICAwJSxcbiAgICAxMiUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMyUsXG4gICAgNyUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTtcbiAgICB9XG4gICAgNSUsXG4gICAgOSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKi5jcy1pbmRpY2F0b3Ige1xuXG4gICAgJl9fZmFzdC1zaGlwcGluZyB7XG4gICAgICAgICYtZWxlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvdy1zdG9jayB7XG4gICAgICAgIG1hcmdpbjogLTAuNXJlbSAwIDAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2FsdG87XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwLjhyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2NlcnVsZWFuLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcl9hbHRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTdweDtcblxuICAgICAgICAgICAgLmllMTEge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMC4wM3JlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMS4zcmVtO1xuICAgICAgICAgICAgbGVmdDogMC43cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy4zcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZWNlbnRseS1ib3VnaHQge1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMi4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjNyZW07XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcC1hdHRyaWJ1dGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDAuMnJlbTtcbiAgICAgICAgdG9wOiAtMC4ycmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgICB9XG5cbiAgICAmX19mYXN0LXNoaXBwaW5nLFxuICAgICZfX2ZyZWUtc2hpcHBpbmcge1xuICAgICAgICAmLWVsZW1lbnQge1xuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgd2lkdGg6IDc4JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1wb3J0YW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYtLXBvc2l0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgICAgIHdpZHRoOiAzLjNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuOHJlbTtcblxuICAgICAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMCAwO1xuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbXBvcnRhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxufSovXG4uY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogI0E5QzU0NjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmc6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX2VsZW1lbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX2VsZW1lbnQtLXZpc2libGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGNvbG9yOiAjQTlDNTQ2O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX2ljb24ge1xuICAgIHdpZHRoOiAyLjRlbTtcbiAgICBoZWlnaHQ6IDEuOGVtO1xuICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgICAuY3MtaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfX2ljb24gKiB7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmNzLWluZGljYXRvci1mYXN0LXNoaXBwaW5nX19oZWFkbGluZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jcy1pbmRpY2F0b3ItZmFzdC1zaGlwcGluZ19fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kaWNhdG9ycy9taXhpbnMnO1xuXG4kaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfZ3V0dGVyOiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmcge1xuICAgICRyb290OiAmO1xuXG4gICAgQGlmICRpbmRpY2F0b3ItZmFzdC1zaGlwcGluZ19ndXR0ZXIgIT0gMCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kaWNhdG9yLWZhc3Qtc2hpcHBpbmdfZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaW5kaWNhdG9yKCk7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19lbGVtZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGluZGljYXRvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvci1pY29uKCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaGVhZGxpbmUoKTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLXRleHQoKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qLmNzLWluZGljYXRvciB7XG5cbiAgICAmX19mYXN0LXNoaXBwaW5nIHtcbiAgICAgICAgJi1lbGVtZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG93LXN0b2NrIHtcbiAgICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYWx0bztcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDAuOHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfY2VydWxlYW4tYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yX2FsdG87XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuXG4gICAgICAgICAgICAuaWUxMSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAwLjAzcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xLjNyZW07XG4gICAgICAgICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlY2VudGx5LWJvdWdodCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdG9wLWF0dHJpYnV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWluZGVudDogMC4ycmVtO1xuICAgICAgICB0b3A6IC0wLjJyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIH1cblxuICAgICZfX2Zhc3Qtc2hpcHBpbmcsXG4gICAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICYtZWxlbWVudCB7XG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogNzglO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjNyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbXBvcnRhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi0tcG9zaXRpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2FwcGxlO1xuICAgICAgICAgICAgd2lkdGg6IDMuM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi44cmVtO1xuXG4gICAgICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2dyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwIDA7XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYXBwbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltcG9ydGFudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59Ki9cbi5jcy1pbmRpY2F0b3ItZnJlZS1zaGlwcGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjQTlDNTQ2O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1pbmRpY2F0b3ItZnJlZS1zaGlwcGluZzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gIC5jcy1pbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19faWNvbiB7XG4gICAgd2lkdGg6IDIuNGVtO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5jcy1pbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19faWNvbiAqIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAuY3MtaW5kaWNhdG9yLWZyZWUtc2hpcHBpbmdfX2hlYWRsaW5lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5kaWNhdG9ycy9taXhpbnMnO1xuXG4kaW5kaWNhdG9yLWZyZWUtc2hpcHBpbmdfZ3V0dGVyOiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLWZyZWUtc2hpcHBpbmcge1xuICAgICRyb290OiAmO1xuXG4gICAgQGlmICRpbmRpY2F0b3ItZnJlZS1zaGlwcGluZ19ndXR0ZXIgIT0gMCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kaWNhdG9yLWZyZWUtc2hpcHBpbmdfZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaW5kaWNhdG9yKCk7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWljb24oKTtcbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvci1oZWFkbGluZSgpO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyouY3MtaW5kaWNhdG9yIHtcblxuICAgICZfX2Zhc3Qtc2hpcHBpbmcge1xuICAgICAgICAmLWVsZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb3ctc3RvY2sge1xuICAgICAgICBtYXJnaW46IC0wLjVyZW0gMCAwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9hbHRvO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMC44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9jZXJ1bGVhbi1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3JfYWx0bztcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7XG5cbiAgICAgICAgICAgIC5pZTExIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtIDAuMDNyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEuM3JlbTtcbiAgICAgICAgICAgIGxlZnQ6IDAuN3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVjZW50bHktYm91Z2h0IHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDIuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi4zcmVtO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3AtYXR0cmlidXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAwLjJyZW07XG4gICAgICAgIHRvcDogLTAuMnJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgfVxuXG4gICAgJl9fZmFzdC1zaGlwcGluZyxcbiAgICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICAgICAgJi1lbGVtZW50IHtcbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiA3OCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuM3JlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWltcG9ydGFudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmLS1wb3NpdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3JfYXBwbGU7XG4gICAgICAgICAgICB3aWR0aDogMy4zcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjhyZW07XG5cbiAgICAgICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3JfZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZyZWUtc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDAgMDtcblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1wb3J0YW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbn0qL1xuLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogI0E5QzU0NjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY3MtaW5kaWNhdG9yLXJlY2VudGx5LWJvdWdodF9faWNvbiB7XG4gIHdpZHRoOiAyLjRlbTtcbiAgaGVpZ2h0OiAxLjhlbTtcbiAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmNzLWluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfX2ljb24gKiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jcy1pbmRpY2F0b3ItcmVjZW50bHktYm91Z2h0X19oZWFkbGluZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jcy1pbmRpY2F0b3ItcmVjZW50bHktYm91Z2h0X190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjM0UzRTNFOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2luZGljYXRvcnMvbWl4aW5zJztcblxuJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyOiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLXJlY2VudGx5LWJvdWdodCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaWYgJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyICE9IDAge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGljYXRvci1yZWNlbnRseS1ib3VnaHRfZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvcigpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaWNvbigpO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgQGluY2x1ZGUgaW5kaWNhdG9yLWhlYWRsaW5lKCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGluZGljYXRvci10ZXh0KCk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKi5jcy1pbmRpY2F0b3Ige1xuXG4gICAgJl9fZmFzdC1zaGlwcGluZyB7XG4gICAgICAgICYtZWxlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvdy1zdG9jayB7XG4gICAgICAgIG1hcmdpbjogLTAuNXJlbSAwIDAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2FsdG87XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAwLjhyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2NlcnVsZWFuLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcl9hbHRvO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTdweDtcblxuICAgICAgICAgICAgLmllMTEge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMC4wM3JlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMS4zcmVtO1xuICAgICAgICAgICAgbGVmdDogMC43cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy4zcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZWNlbnRseS1ib3VnaHQge1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMi4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjNyZW07XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcC1hdHRyaWJ1dGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDAuMnJlbTtcbiAgICAgICAgdG9wOiAtMC4ycmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgICB9XG5cbiAgICAmX19mYXN0LXNoaXBwaW5nLFxuICAgICZfX2ZyZWUtc2hpcHBpbmcge1xuICAgICAgICAmLWVsZW1lbnQge1xuICAgICAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgd2lkdGg6IDc4JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1wb3J0YW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYtLXBvc2l0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9hcHBsZTtcbiAgICAgICAgICAgIHdpZHRoOiAzLjNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuOHJlbTtcblxuICAgICAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMCAwO1xuXG4gICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2FwcGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbXBvcnRhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxufSovXG4uY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogI0E5QzU0NjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X19lbGVtZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnlfX2VsZW1lbnQtaWNvbiB7XG4gICAgd2lkdGg6IDIuNGVtO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnlfX2VsZW1lbnQtaWNvbiAqIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAuY3MtaW5kaWNhdG9yLWV4cC1kZWxpdmVyeV9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X190ZXh0LS12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jcy1pbmRpY2F0b3ItZXhwLWRlbGl2ZXJ5X190ZXh0LS1kYXRlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnlfX3BsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWluZGljYXRvci1leHAtZGVsaXZlcnlfX3BsYWNlaG9sZGVyLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbmRpY2F0b3JzL21peGlucyc7XG5cbiRpbmRpY2F0b3ItZXhwZWN0ZWQtZGVsaXZlcnlfZ3V0dGVyOiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aW5kaWNhdG9yLWV4cC1kZWxpdmVyeSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGluZGljYXRvcigpO1xuXG4gICAgQGlmICRpbmRpY2F0b3ItZXhwZWN0ZWQtZGVsaXZlcnlfZ3V0dGVyICE9IDAge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGljYXRvci1leHBlY3RlZC1kZWxpdmVyeV9ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbGVtZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19lbGVtZW50LWljb24ge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItaWNvbigpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItdGV4dCgpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGF0ZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBpbmRpY2F0b3ItdGV4dCgpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIGdyYWRpZW50LXNoYWRvdyBtaXhpbiBwcm92aWRlcyBncmFkaWVudCBzaGFkb3cgb24gZ2l2ZW4gcG9zaXRpb25cbiAqIEBwYXJhbSAkeCAtIHgtYXhpcyBwb3NpdGlvblxuICogQHBhcmFtICR5IC0geS1heGlzIHBvc2l0aW9uXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbFxuPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWNcbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbFxuPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFja1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1wcm9kdWN0LWdhbGxlcnlfX2xvYWRpbmctbWFzayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4uY3MtcHJvZHVjdC1nYWxsZXJ5X19wbGFjZWhvbGRlci1pbWFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3MtcHJvZHVjdC1nYWxsZXJ5X19sb2FkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtZ2FsbGVyeV9fbG9hZGVyIHtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLXByb2R1Y3QtZ2FsbGVyeV9fbG9hZGVyIHNvdXJjZSxcbiAgLmNzLXByb2R1Y3QtZ2FsbGVyeV9fbG9hZGVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zbGljay1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG4gIFtkaXI9J3J0bCddIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLnNsaWNrLWFycm93IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uZ2FsbGVyeS1wbGFjZWhvbGRlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmdhbGxlcnktcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAuZ2FsbGVyeS1wbGFjZWhvbGRlciAuc2xpY2stc2xpZGUge1xuICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2FsbGVyeS1wbGFjZWhvbGRlciA+IC5pbWFnZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdhbGxlcnktcGxhY2Vob2xkZXIgPiAuaW1hZ2Utd3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ2FsbGVyeS1wbGFjZWhvbGRlciAuaW1hZ2Utd3JhcHBlciBpbWdbcm9sZT1cInByZXNlbnRhdGlvblwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmdhbGxlcnktcGxhY2Vob2xkZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5nYWxsZXJ5LXBsYWNlaG9sZGVyIC5zbGljay1hcnJvdyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gICAgLmdhbGxlcnktcGxhY2Vob2xkZXIgLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LWxlZnRAMXguc3ZnXCIpO1xuICAgICAgbGVmdDogLThweDsgfVxuICAgIC5nYWxsZXJ5LXBsYWNlaG9sZGVyIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9QYXRoLTNAMXguc3ZnXCIpO1xuICAgICAgcmlnaHQ6IC04cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmdhbGxlcnktcGxhY2Vob2xkZXIgLnNsaWNrLWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5nYWxsZXJ5LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LXdyYXBwZXIgLmdhbGxlcnktcGxhY2Vob2xkZXItd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS13cmFwcGVyIC5nYWxsZXJ5LXBsYWNlaG9sZGVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnktd3JhcHBlciAuZ2FsbGVyeS1wbGFjZWhvbGRlci5nYWxsZXJ5LWluaXQge1xuICAgICAgbWF4LXdpZHRoOiA2MTBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDYxMHB4OyB9IH1cbiAgLmdhbGxlcnktd3JhcHBlciAuYXctb25zYWxlX19sYWJlbC1hcmVhLXdyYXAge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIGhlaWdodDogaW5pdGlhbDsgfVxuICAuZ2FsbGVyeS13cmFwcGVyIC5zbGljay1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLnNsaWNrLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAuc2xpY2stbmF2IC5zbGljay1zbGlkZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUZFRkYwOyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5zbGljay1uYXYgLnNsaWNrLXNsaWRlLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwOyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyIC5zbGljay1uYXYgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyIC5zbGljay1uYXYgLmR1bW15IHtcbiAgICAgIGJhY2tncm91bmQ6ICNFRkVGRjA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIgLnNsaWNrLW5hdiAuZHVtbXkge1xuICAgICAgICAgIHdpZHRoOiA4NnB4O1xuICAgICAgICAgIGhlaWdodDogODZweDsgfSB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAuc2xpY2stbmF2IC50aHVtYi1pdGVtW2RhdGEtdGh1bWItdHlwZT1cInZpZGVvXCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmdhbGxlcnktd3JhcHBlciAuc2xpY2stbmF2IC50aHVtYi1pdGVtW2RhdGEtdGh1bWItdHlwZT1cInZpZGVvXCJdOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BsYXktYnV0dG9uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAuc2xpY2stbmF2IC5zbGljay1hcnJvdyB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdhbGxlcnktd3JhcHBlciAuc2xpY2stbmF2IC5zbGljay1wcmV2LFxuICAgIC5nYWxsZXJ5LXdyYXBwZXIgLnNsaWNrLW5hdiAuc2xpY2stbmV4dCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuZ2FsbGVyeS13cmFwcGVyLnZlcnRpY2FsLXRodW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgLmdhbGxlcnktd3JhcHBlci52ZXJ0aWNhbC10aHVtYnMgLmdhbGxlcnktcGxhY2Vob2xkZXItd3JhcHBlciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyLnZlcnRpY2FsLXRodW1icyAuZ2FsbGVyeS1wbGFjZWhvbGRlci5nYWxsZXJ5LWluaXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAuZ2FsbGVyeS13cmFwcGVyLnZlcnRpY2FsLXRodW1icyAuc2xpY2stbmF2IHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyLnZlcnRpY2FsLXRodW1icyAuc2xpY2stbmF2IC5zbGljay1wcmV2IHtcbiAgICAgICAgdG9wOiAyMHB4OyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyLnZlcnRpY2FsLXRodW1icyAuc2xpY2stbmF2IC5zbGljay1uZXh0IHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB0b3A6IGF1dG87IH1cbiAgICAgIC5nYWxsZXJ5LXdyYXBwZXIudmVydGljYWwtdGh1bWJzIC5zbGljay1uYXYgLmR1bW15OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLmdhbGxlcnktcGxhY2Vob2xkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLmdhbGxlcnktcGxhY2Vob2xkZXIuZ2FsbGVyeS1pbml0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLmdhbGxlcnktcGxhY2Vob2xkZXItd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmdhbGxlcnktd3JhcHBlci5ob3Jpem9udGFsLXRodW1icyAuc2xpY2stbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIC5zbGljay1uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmdhbGxlcnktd3JhcHBlci5ob3Jpem9udGFsLXRodW1icyAuc2xpY2stbmF2IC5zbGljay10cmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0LjAxZW0pIHtcbiAgICAgICAgICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIC5zbGljay1uYXYgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfSB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIC5zbGljay1uYXYgLnNsaWNrLWFycm93IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLnNsaWNrLW5hdiAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctbGVmdEAxeC5zdmdcIik7IH1cbiAgICAgICAgLmdhbGxlcnktd3JhcHBlci5ob3Jpem9udGFsLXRodW1icyAuc2xpY2stbmF2IC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9QYXRoLTNAMXguc3ZnXCIpOyB9XG4gICAgICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIC5zbGljay1uYXYgLmR1bW15IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLnNsaWNrLW5hdiAuZHVtbXk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZ2FsbGVyeS13cmFwcGVyLmhvcml6b250YWwtdGh1bWJzIC5zbGljay1uYXYge1xuICAgICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogODZweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5nYWxsZXJ5LXdyYXBwZXIuaG9yaXpvbnRhbC10aHVtYnMgLnNsaWNrLW5hdiAuc2xpY2stc2xpZGUsXG4gICAgICAgICAgLmdhbGxlcnktd3JhcHBlci5ob3Jpem9udGFsLXRodW1icyAuc2xpY2stbmF2IC5kdW1teSB7XG4gICAgICAgICAgICB3aWR0aDogODZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggMCAwOyB9IH1cblxuLnZpZGVvLWNvbnRhaW5lci5pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52aWRlby1jb250YWluZXIuaW1hZ2Utd3JhcHBlcjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BsYXktYnV0dG9uLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAudmlkZW8tY29udGFpbmVyLmltYWdlLXdyYXBwZXI6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC52aWRlby1jb250YWluZXIuaW1hZ2Utd3JhcHBlcjpob3ZlciBpbWcge1xuICAgICAgb3BhY2l0eTogMC44ICFpbXBvcnRhbnQ7IH1cblxuLnByb2R1Y3QtdmlkZW8ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAucHJvZHVjdC12aWRlbyAudmlkZW8taG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gICAgLnByb2R1Y3QtdmlkZW8gLnZpZGVvLWhvbGRlciBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi52aWRlby1jb250YWluZXIudmlkZW8tcGxheWluZyBpbWcge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpZGVvLWNvbnRhaW5lci52aWRlby1wbGF5aW5nIC5wcm9kdWN0LXZpZGVvIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4udmlkZW8tY29udGFpbmVyLnZpZGVvLXBsYXlpbmcuaW1hZ2Utd3JhcHBlcjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuIiwiLyoqXG4gKiBncmFkaWVudC1zaGFkb3cgbWl4aW4gcHJvdmlkZXMgZ3JhZGllbnQgc2hhZG93IG9uIGdpdmVuIHBvc2l0aW9uXG4gKiBAcGFyYW0gJHggLSB4LWF4aXMgcG9zaXRpb25cbiAqIEBwYXJhbSAkeSAtIHktYXhpcyBwb3NpdGlvblxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJGdyYWRpZW50LXNoYWRvdy1iYXNlLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC01MDA7XG5cbkBtaXhpbiBncmFkaWVudC1zaGFkb3coJHgsICR5KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICAgICAgICByZ2JhKCRncmFkaWVudC1zaGFkb3ctYmFzZS1jb2xvciwgMC40KSAyNSUsXG4gICAgICAgICAgICByZ2JhKCRncmFkaWVudC1zaGFkb3ctYmFzZS1jb2xvciwgMC41KSA3NSUsXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICApLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICBmYXJ0aGVzdC1zaWRlIGF0ICR4ICR5LFxuICAgICAgICAgICAgcmdiYSgkZ3JhZGllbnQtc2hhZG93LWJhc2UtY29sb3IsIDAuNyksXG4gICAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgICApO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWdhbGxlcnkvbWl4aW5zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucyc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuXG4kcHJvZHVjdC1nYWxsZXJ5X2Jhc2UtaW1hZ2UtZGF0YTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBwcm9kdWN0X3BhZ2VfaW1hZ2VfbWVkaXVtX25vX2ZyYW1lXG4pICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9kYXRhOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NhdGFsb2csXG4gICAgZ2FsbGVyeVxuKSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfc2NlbmUtbWF4LWhlaWdodDogI3ttYXAtZ2V0KCRwcm9kdWN0LWdhbGxlcnlfZGF0YSwgbWF4aGVpZ2h0KX0gIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X2ltYWdlLW1heC1oZWlnaHQ6ICN7bWFwLWdldChcbiAgICAgICAgJHByb2R1Y3QtZ2FsbGVyeV9iYXNlLWltYWdlLWRhdGEsXG4gICAgICAgIG1heGhlaWdodFxuICAgICl9ICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvd3Mtc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy13cmFwcGVyLS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LWhlaWdodDogMi43cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd3JhcHBlci13aWR0aDogMyAqICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdpZHRoICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd3JhcHBlci1oZWlnaHQ6IDIgKiAkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy1oZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tcHJldi11cmw6ICcuLi9pbWFnZXMvaWNvbnMvYXJyb3ctbGVmdEAxeC5zdmcnICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctLW5leHQtdXJsOiAnLi4vaW1hZ2VzL2ljb25zL1BhdGgtM0AxeC5zdmcnICFkZWZhdWx0O1xuXG4vLyBUaHVtYm5haWxzXG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1icy1ndXR0ZXI6IDAuOHJlbSAhZGVmYXVsdDsgLy8gdXNlIHJlbS9weCBhcyBmb250LXNpemUgaXMgc2V0IHRvIDAgYnkgZm90b3JhbWEuIERvbid0IGV4Y2VlZCAyMDAlIG9mICRwYWdlLWd1dHRlciB2YWx1ZSBvciBob3Jpem9udGFsIHNjcm9sbGJhciB3aWxsIGFwcGVhci5cbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItLWhvdmVyLWJvcmRlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi0tYWN0aXZlLWJvcmRlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4vLyBUaHVtYm5haWxzIGFycm93IChzbGlkZXIpXG4kcHJvZHVjdC1nYWxsZXJ5X3Nob3ctdGh1bWItYXJyb3dzOiBmYWxzZSAhZGVmYXVsdDsgLy8gRG9lcyBub3QgYXBwbHkgZm9yIGZ1bGxzY3JlZW4gbW9kZVxuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctd3JhcHBlci0tYWN0aXZlLWJhY2tncm91bmQ6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LXdyYXBwZXItLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13cmFwcGVyLWJveC1zaGFkb3ctc2l6ZTogMCAwIDFyZW0gMXJlbSAhZGVmYXVsdDsgLy8gY29sb3IgaXMgaW5oZXJpdGVkIGZyb20gYmFja2dyb3VuZFxuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy13aWR0aDogJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5X3RodW1iLWFycm93LWhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV9uYXYtYXJyb3ctaGVpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV90aHVtYi1hcnJvdy0tcHJldi11cmw6ICRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LS1wcmV2LXVybCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfdGh1bWItYXJyb3ctLW5leHQtdXJsOiAkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tbmV4dC11cmwgIWRlZmF1bHQ7XG5cbi8vIFNwaW5uZXJcbiRwcm9kdWN0LWdhbGxlcnlfc3Bpbm5lci1pbWFnZS11cmw6ICcuLi9pbWFnZXMvaWNvbnMvZm90b3JhbWEvZm90b3JhbWEtc3Bpbm5lci5zdmcnICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeV9zcGlubmVyLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnlfc3Bpbm5lci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1nYWxsZXJ5LWltYWdlX2Rlc2t0b3BfX3dpZHRoOiA2MTBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnktaW1hZ2VfZGVza3RvcF9faGVpZ2h0OiA2MTBweCAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZ2FsbGVyeS1pbWFnZV9tb2JpbGVfX3dpZHRoOiA2MHZ3ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS1pbWFnZV9tb2JpbGVfX2hlaWdodDogNjB2dyAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9fd2lkdGg6IDg2cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5LXRodW1iX19oZWlnaHQ6IDg2cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5LXRodW1iX21vYmlsZV9fd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9tb2JpbGVfX2hlaWdodDogMTAwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5LXRodW1iX19ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1nYWxsZXJ5LXRodW1iLWFjdGl2ZV9fYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9fbWFyZ2luOiAzMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9kdW1teV9fYmFja2dyb3VuZDogJGJvcmRlcl9jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnktdGh1bWItYXJyb3dfX2ZvbnQtc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnktdGh1bWItYXJyb3dfX2xpbmUtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYi1hcnJvd19fY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnktdGh1bWItYXJyb3dfX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYi1hcnJvd19ob3Zlcl9fY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcm9kdWN0LWdhbGxlcnktdGh1bWItYXJyb3dfaG92ZXJfX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ2FsbGVyeS10aHVtYi1ob3Jpem9udGFsX193aWR0aDogODB2dyAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgJl9fbG9hZGluZy1tYXNrIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgZGVlcCBjYXNjYWRlXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgJl9fcGxhY2Vob2xkZXItaW1hZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LWdhbGxlcnlfc2NlbmUtbWF4LWhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBpbmxpbmUgc3R5bGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENlbnRlciBwbGFjZWhvbGRlciBpbWFnZVxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeV9pbWFnZS1tYXgtaGVpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2sge1xuICAgICYtc2xpZGVyIHtcbiAgICAgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kcmFnZ2luZyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRyYWNrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWFycm93IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYtYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmdhbGxlcnktcGxhY2Vob2xkZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmdhbGxlcnktcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgPiAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgaW1nW3JvbGU9XCJwcmVzZW50YXRpb25cIl0ge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuXG4gICAgICAgICYuc2xpY2stcHJldntcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcHJvZHVjdC1nYWxsZXJ5X25hdi1hcnJvdy0tcHJldi11cmwpO1xuICAgICAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRwcm9kdWN0LWdhbGxlcnlfbmF2LWFycm93LS1uZXh0LXVybCk7XG4gICAgICAgICAgICByaWdodDogLThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdhbGxlcnktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5nYWxsZXJ5LXBsYWNlaG9sZGVyLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdhbGxlcnktcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdhbGxlcnktaW5pdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1nYWxsZXJ5LWltYWdlX2Rlc2t0b3BfX3dpZHRoO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRwcm9kdWN0LWdhbGxlcnktaW1hZ2VfZGVza3RvcF9faGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF3LW9uc2FsZV9fbGFiZWwtYXJlYS13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnNsaWNrLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJfY29sb3I7XG5cbiAgICAgICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmR1bW15IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib3JkZXJfY29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9fd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC1nYWxsZXJ5LXRodW1iX19oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWItaXRlbSB7XG4gICAgICAgICAgICAmW2RhdGEtdGh1bWItdHlwZT1cInZpZGVvXCJdIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGxheS1idXR0b24uc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXByZXYsXG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsLXRodW1icyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgIC5nYWxsZXJ5LXBsYWNlaG9sZGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdhbGxlcnktcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgJi5nYWxsZXJ5LWluaXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuc2xpY2stbmF2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmR1bW15IHtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhvcml6b250YWwtdGh1bWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAuZ2FsbGVyeS1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICYuZ2FsbGVyeS1pbml0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2FsbGVyeS1wbGFjZWhvbGRlci13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmF2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LWxlZnRAMXguc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvUGF0aC0zQDF4LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kdW1teSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJHByb2R1Y3QtZ2FsbGVyeS10aHVtYl9faGVpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLnNsaWNrLXNsaWRlLFxuICAgICAgICAgICAgICAgIC5kdW1teSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1nYWxsZXJ5LXRodW1iX193aWR0aCAhaW1wb3J0YW50OyAvLyBmaXggZm9yIHZlcnRpY2FsIGl0ZW0gaGVpZ2h0IG5vdCBzZXRcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICRwcm9kdWN0LWdhbGxlcnktdGh1bWJfX21hcmdpbiAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi52aWRlby1jb250YWluZXIge1xuICAgICYuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6NDhweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvcGxheS1idXR0b24uc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC12aWRlbyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIC52aWRlby1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlby1jb250YWluZXIge1xuICAgICYudmlkZW8tcGxheWluZyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LXZpZGVvIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICAgICYuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtZGV0YWlscyB7XG4gIG1heC13aWR0aDogMTI0cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDcwcHggYXV0byAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0LjAxZW0pIHtcbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtcyB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW1zIHtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDsgfSB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW1zOmJlZm9yZSwgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW1zID4gLml0ZW0udGl0bGUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZSA+IGEuc3dpdGNoIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LWZhbWlseTogXCJQVCBTYW5zIE5hcnJvd1wiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZSA+IGEuc3dpdGNoOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wbHVzQDF4LnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZSA+IGEuc3dpdGNoIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMXB4IDU1cHggMTBweDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiBhLnN3aXRjaCB7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjRGNEY0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IGEuc3dpdGNoIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMXB4IDU1cHggOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiBhLnN3aXRjaDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGx1czI2LnBuZ1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHNfX2l0ZW1zID4gLml0ZW0uY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Y0RjRGNDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlsc19faXRlbXMgPiAuaXRlbS5jb250ZW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzX19pdGVtcyA+IC5pdGVtLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDNweDtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMgLndhcnJhbnR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscyAud2FycmFudHktY29udGFpbmVyIGR0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMgLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMgLmFkZGl0aW9uYWwtYXR0cmlidXRlcyBsaSB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscyAuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIGxpIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRsaW5lL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kcHJvZHVjdC1kZXNjcmlwdGlvbl9pdGVtLWJhY2tncm91bmQtbW9iaWxlOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXNjcmlwdGlvbl9pdGVtLWJhY2tncm91bmQtZGVza3RvcDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICAjZjhmOGY4IDAlLFxuICAgICNmZmZmZmYgNTAlXG4pICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faXRlbS1tYWluLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMFxuICAgIHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nJykgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2l0ZW0tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1kZXNjcmlwdGlvbi0tbW9iaWxlX2hlYWRsaW5lLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb24tLW1vYmlsZV9oZWFkbGluZS10aXRsZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRwcm9kdWN0LWRlc2NyaXB0aW9uX2hlYWRsaW5lLXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0yICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtdGl0bGUtY291bnRlci12aXNpYmxlOiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25faGVhZGxpbmUtYmFja2dyb3VuZDogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWRlc2NyaXB0aW9uX3RpdGxlLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRlc2NyaXB0aW9uX3RpdGxlLWZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHByb2R1Y3QtZGVzY3JpcHRpb25fdGl0bGUtYWN0aXZlLWJvcmRlci1jb2xvcjogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXNjcmlwdGlvbl90aXRsZS1ib3JkZXItY29sb3I6IG5vbmU7XG4kcHJvZHVjdC1kZXNjcmlwdGlvbl90aXRsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRwcm9kdWN0LWRlc2NyaXB0aW9uX3RpdGxlLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFNob3cvaGlkZSBoZWFkbGluZSBmb3IgY29udGVudCBjb25zdHJ1Y3RvciBzZWN0aW9uXG4kcHJvZHVjdC1kZXNjcmlwdGlvbl9oZWFkbGluZS1jYy12aXNpYmxlOiBmYWxzZSAhZGVmYXVsdDtcblxuLiN7JG5zfXByb2R1Y3QtZGV0YWlscyB7XG4gICAgJHJvb3Q6ICY7XG4gICAgbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luOiA3MHB4IGF1dG8gMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCAwO1xuICAgIH1cblxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgICAgICA+IC5pdGVtIHtcbiAgICAgICAgICAgICYudGl0bGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPiBhLnN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtZGVzY3JpcHRpb25fdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHByb2R1Y3QtZGVzY3JpcHRpb25fdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWRlc2NyaXB0aW9uX3RpdGxlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1kZXNjcmlwdGlvbl90aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3BsdXNAMXguc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDU1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhLnN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvZHVjdC1kZXNjcmlwdGlvbl90aXRsZS1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDU1cHggOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9wbHVzMjYucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByb2R1Y3QtZGVzY3JpcHRpb25fdGl0bGUtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNFM0UzRTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQzcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC53YXJyYW50eS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXByb2R1Y3QtZGV0YWlscy1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX3RpdGxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAyZW0gMDsgfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2l0ZW0gKyAuY3MtcHJvZHVjdC1kZXRhaWxzLW5hdl9faXRlbSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC41ZW0gMmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXZfX2xpbmssIC5jcy1wcm9kdWN0LWRldGFpbHMtbmF2X19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXYgLmNvdW50ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKCc7IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1uYXYgLmNvdW50ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLXBkcC1kZXRhaWxzLW5hdiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDBweCByZ2JhKDMzLCAzMywgMzMsIDAuMik7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuJHByb2R1Y3QtZGV0YWlscy1uYXZfZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWRldGFpbHMtbmF2X2l0ZW0tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1kZXRhaWxzLW5hdl9saXN0LXBhZGRpbmc6IDJlbSAwICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1ndXR0ZXI6IDJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbmF2X2xpbmstcGFkZGluZzogMC41ZW0gJHByb2R1Y3QtZGV0YWlscy1uYXZfbGluay1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWRldGFpbHMtbmF2X2NvbnRhaW5lci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW5hdl9jb250YWluZXItYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4XG4gICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC03MDAsIDAuMikgIWRlZmF1bHQ7XG5cbi4jeyRuc31wcm9kdWN0LWRldGFpbHMtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtZGV0YWlscy1uYXZfZm9udC1zaXplO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtZGV0YWlscy1uYXZfbGlzdC1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkcHJvZHVjdC1kZXRhaWxzLW5hdl9pdGVtLXNlcGFyYXRvci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLXBhZGRpbmc7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1kZXRhaWxzLW5hdl9saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvdW50ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1wZHAtZGV0YWlscy1uYXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC1kZXRhaWxzLW5hdl9jb250YWluZXItYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtZGV0YWlscy1uYXZfY29udGFpbmVyLWJveC1zaGFkb3c7XG4gICAgfVxufVxuIiwiLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1wZHAtZGV0YWlscy1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBTdHlsZXMgZm9yIGRlZmF1bHQgdGFibGUgd2l0aCBhdHRyaWJ1dGUgZGlzcGxheWVkIG9uIHByb2R1Y3QgcGFnZS5cbiAqKi9cblxuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZS9taXhpbic7XG5cbiRhZGRpdGlvbmFsLWF0dHJpYnV0ZXNfdGgtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRhZGRpdGlvbmFsLWF0dHJpYnV0ZXNfdHItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYWRkaXRpb25hbC1hdHRyaWJ1dGVzX2NlbGwtcGFkZGluZzogMWVtIDEuNWVtIDFlbSAwICFpbXBvcnRhbnQgIWRlZmF1bHQ7XG5cbiRhZGRpdGlvbmFsLWF0dHJpYnV0ZXNfYmFkZ2UtbWFyZ2luOiAwIDAgMCAwLjllbSAhZGVmYXVsdDtcbiRhZGRpdGlvbmFsLWF0dHJpYnV0ZXNfdG9wLWFsaWduOiAtMC4wMWVtICFkZWZhdWx0O1xuXG4uYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQmVsb3cgY2FzY2FkZSBpcyB1bmZvcnR1bmF0ZWx5IHJlcXVpcmVkIGJlY2F1c2Ugb2YgTWFnZW50byBzdHlsZXMuXG4gICAgdGJvZHkge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGFkZGl0aW9uYWwtYXR0cmlidXRlc190ci1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgICAgICAgICAgICYgKyB0ciB7XG4gICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIGJvcmRlci1jb2xsYXBzZSBkb2Vzbid0IHdvcmsgd2VsbCBvbiBtb2JpbGUgRmlyZUZveC5cbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHRoIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGFkZGl0aW9uYWwtYXR0cmlidXRlc190aC1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWRkaXRpb25hbC1hdHRyaWJ1dGVzX2NlbGwtcGFkZGluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGFkZGl0aW9uYWwtYXR0cmlidXRlc19jZWxsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlKCk7XG5cbiAgICAgICAgbWFyZ2luOiAkYWRkaXRpb25hbC1hdHRyaWJ1dGVzX2JhZGdlLW1hcmdpbjtcbiAgICAgICAgdG9wOiAkYWRkaXRpb25hbC1hdHRyaWJ1dGVzX3RvcC1hbGlnbjtcblxuICAgICAgICAmLS10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgndG9wJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCd0b3AnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1wZHAtZGV0YWlscy1hZGRpdGlvbmFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIFN0eWxlcyBmb3IgZGVmYXVsdCB0YWJsZSB3aXRoIGF0dHJpYnV0ZSBkaXNwbGF5ZWQgb24gcHJvZHVjdCBwYWdlLlxuICoqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmFkZGl0aW9uYWwtYXR0cmlidXRlcy13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHRib2R5ID4gdHIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgdGJvZHkgPiB0ciArIHRyIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgdGJvZHkgPiB0ciA+IHRoIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDFlbSAxLjVlbSAxZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgdGJvZHkgPiB0ciA+IHRkIHtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW0gMWVtIDAgIWltcG9ydGFudDsgfVxuXG4uYWRkaXRpb25hbC1hdHRyaWJ1dGVzX19iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gIG1heC13aWR0aDogMTI1cHg7XG4gIG1hcmdpbjogMCAwIDAgMC45ZW07XG4gIHRvcDogLTAuMDFlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXNfX2JhZGdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIG1heC13aWR0aDogODhweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxM3B4OyB9IH1cbiAgLmFkZGl0aW9uYWwtYXR0cmlidXRlc19fYmFkZ2UtLXRvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXNfX2JhZGdlLS10b3AgLmFkZGl0aW9uYWwtYXR0cmlidXRlc19fYmFkZ2UtdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXNfX2JhZGdlLS10b3AgLmFkZGl0aW9uYWwtYXR0cmlidXRlc19fYmFkZ2UtdGV4dCArIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXNfX2JhZGdlLS10b3AgLmFkZGl0aW9uYWwtYXR0cmlidXRlc19fYmFkZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtZGV0YWlscy1hZGRpdGlvbmFsIHtcbiAgcGFkZGluZzogMDsgfVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYm90dG9tOiAyZW07IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluLS1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4ge1xuICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9fY29sdW1uLS1sZWZ0IHtcbiAgICAgICAgZmxleDogMCAwIDY1JTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4tLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19jb2x1bW4tLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGZsZXg6IDAgMCBjYWxjKDM1JSAtIDJlbSk7IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdOmJlZm9yZSwgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19oZWFkbGluZVt0YWJpbmRleF06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XTpiZWZvcmUsIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDkwZGVnKSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lW3RhYmluZGV4XVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmVbdGFiaW5kZXhdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2hlYWRsaW5lLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LWRldGFpbHMtbWFpbl9faGVhZGxpbmUtdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDJyZW07IH0gfVxuICAuY3MtcHJvZHVjdC1kZXRhaWxzLW1haW5fX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19pdGVtICsgLmNzLXByb2R1Y3QtZGV0YWlscy1tYWluX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9pdGVtLWd1dHRlcjogMmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1tYWluX2NvbHVtbi1icmVha3BvaW50OiAnPj10YWJsZXQnICFkZWZhdWx0O1xuJHByb2R1Y3QtZGV0YWlscy1tYWluX2xlZnQtY29sdW1uLWZsZXg6IDAgMCA2NSUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1kZXRhaWxzLW1haW5fcmlnaHQtY29sdW1uLWZsZXg6IDAgMFxuICAgIGNhbGMoMzUlIC0gI3skcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXJ9KSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtZGV0YWlscy1tYWluLS1tb2JpbGVfaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRwcm9kdWN0LWRldGFpbHMtbWFpbl9oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuXG4uI3skbnN9cHJvZHVjdC1kZXRhaWxzLW1haW4ge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAmLS1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICZfX2NvbHVtbiB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skcHJvZHVjdC1kZXRhaWxzLW1haW5fY29sdW1uLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX2xlZnQtY29sdW1uLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1kZXRhaWxzLW1haW5faXRlbS1ndXR0ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHByb2R1Y3QtZGV0YWlscy1tYWluX2NvbHVtbi1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogJHByb2R1Y3QtZGV0YWlscy1tYWluX3JpZ2h0LWNvbHVtbi1mbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJlt0YWJpbmRleF0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwcm9kdWN0LWRldGFpbHMtbWFpbi0tbW9iaWxlX2hlYWRsaW5lLWxldmVsKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRwcm9kdWN0LWRldGFpbHMtbWFpbl9oZWFkbGluZS1sZXZlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtZGV0YWlscy1tYWluX2l0ZW0tZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcmV2aWV3IHtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLXJldmlld19fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgMC43cmVtO1xuICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1yZXZpZXdfX3JhdGluZywgLmNzLXJldmlld19fcmF0aW5ncyB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1yZXZpZXdfX2NvbXBvdW5kLXJhdGluZyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICAuY3MtcmV2aWV3X19jb21wb3VuZC1yYXRpbmc6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1yZXZpZXdfX21ldGEge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAuY3MtcmV2aWV3X19tZXRhLWl0ZW0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgIC5jcy1yZXZpZXdfX21ldGEtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuY3MtcmV2aWV3X19tZXRhLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLmNzLXJldmlld19fYXV0aG9yIHtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtcmV2aWV3X19kYXRlIHtcbiAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAuY3MtcmV2aWV3X19jb250ZW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMzRTNFM0U7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kcmV2aWV3X2ZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld190aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHJldmlld190aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHJldmlld19hdXRob3ItY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRyZXZpZXdfY29udGVudC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHJldmlld19kYXRlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kcmV2aWV3X21ldGEtaXRlbS1mb250LXNpemU6IDAuOWVtICFkZWZhdWx0O1xuJHJldmlld19tZXRhLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3X2hpZGUtY29tcG91bmQtcmF0aW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31yZXZpZXcge1xuICAgIGZvbnQtc2l6ZTogJHJldmlld19mb250LXNpemU7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmV2aWV3X3RpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwLjdyZW07XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3X3RpdGxlLWNvbG9yO1xuICAgIH1cblxuICAgICZfX3JhdGluZyxcbiAgICAmX19yYXRpbmdzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19jb21wb3VuZC1yYXRpbmcge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRyZXZpZXdfaGlkZS1jb21wb3VuZC1yYXRpbmdzKSB7XG4gICAgICAgICZfX2NvbXBvdW5kLXJhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmIC5jcy1zdGFyLXJhdGluZ19fbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vdmVyYWxsLXJhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld19tZXRhLWl0ZW0tZm9udC1zaXplO1xuICAgIH1cblxuICAgICZfX21ldGEtaXRlbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcmV2aWV3X21ldGEtaXRlbS1ib3JkZXI7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXV0aG9yIHtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdfYXV0aG9yLWNvbG9yO1xuICAgIH1cblxuICAgICZfX2RhdGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdfZGF0ZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJHJldmlld19jb250ZW50LWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcmV2aWV3cyB7XG4gIGZsZXg6IDEgMSAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmllMTEgLmNzLXJldmlld3Mge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLXJldmlld3Mge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH0gfVxuICAuY3MtcmV2aWV3c19fdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXJldmlld3NfX3RpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1yZXZpZXdzX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1yZXZpZXdzX19sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07IH1cbiAgLmNzLXJldmlld3NfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMCAyLjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY3MtcmV2aWV3c19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLXJldmlld3NfX2Zvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDIuNXJlbSAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzX19mb3JtIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gIC5jcy1yZXZpZXdzX19oZWFkbGluZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMS40ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAuY3MtcmV2aWV3c19fcHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gIC5jcy1yZXZpZXdzX19yYXRpbmctaXRlbTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLmNzLXJldmlld3NfX3JhdGluZ3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXJldmlld3NfX3JhdGluZ3Mge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgLmNzLXJldmlld3NfX2ZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXJldmlld3NfX2ZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgLmNzLXJldmlld3NfX3N1Ym1pdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b24gKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLXJldmlld3NfX3N1Ym1pdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1yZXZpZXdzX19zdWJtaXQtYnV0dG9uW2Rpc2FibGVkXSBzcGFuLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtcmV2aWV3c19fc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXJldmlld3NfX3JhdGluZy1jb250cm9sIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtcmV2aWV3c19fcmF0ZS1zdGFycyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvcmRlcjogMDsgfVxuICAuY3MtcmV2aWV3c19fcmF0ZS1mZWVkYmFjayB7XG4gICAgb3JkZXI6IDE7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXJldmlld3NfX3Jldmlldy1maWVsZCB7XG4gICAgbWluLWhlaWdodDogMTByZW07XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuICAuY3MtcmV2aWV3cyAuY3MtcGFnaW5hdGlvbl9fY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRyZXZpZXdzLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHJldmlld3Mtc3BhY2luZzogMi41cmVtICFkZWZhdWx0O1xuXG4vLyBSZXZpZXdzIGZvcm0gc3R5bGluZ1xuJHJldmlld3NfZm9ybS1wYWRkaW5nLWRlc2t0b3A6IDNyZW0gIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLWRlc2t0b3A6IHRydWUgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLXNwYWNpbmc6ICRyZXZpZXdzX2Zvcm0tcGFkZGluZy1kZXNrdG9wICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1iYWNrZ3JvdW5kLWRlc2t0b3A6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcblxuJHJldmlld3NfZm9ybS1idXR0b24tYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLWJ1dHRvbi1hbGlnbi1kZXNrdG9wOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLWhlYWRsaW5lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDIwMCAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tcmF0aW5nLWNvbnRyb2wtcGFkZGluZzogJGZpZWxkX2lucHV0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWNvbnRlbnQtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWJvcmRlcjogJGZpZWxkX2lucHV0LWJvcmRlciAhZGVmYXVsdDtcbiRyZXZpZXdzX2Zvcm0tcmF0aW5nLWNvbnRyb2wtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLWZlZGJhY2stdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHJldmlld3NfZm9ybS1mZWRiYWNrLWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuXG4kcmV2aWV3c19mb3JtLXN1Ym1pdC1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kcmV2aWV3c19mb3JtLXN1Ym1pdC1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfXJldmlld3Mge1xuICAgIGZsZXg6IDEgMSAwO1xuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkcmV2aWV3cy1ib3JkZXI7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkcmV2aWV3cy1zcGFjaW5nO1xuICAgICAgICBtYXJnaW46IDAgMCAkcmV2aWV3cy1zcGFjaW5nO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkcmV2aWV3cy1ib3JkZXI7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIG1hcmdpbjogJHJldmlld3Mtc3BhY2luZyAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZXZpZXdzX2Zvcm0tYmFja2dyb3VuZC1kZXNrdG9wO1xuICAgICAgICAgICAgcGFkZGluZzogJHJldmlld3NfZm9ybS1wYWRkaW5nLWRlc2t0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjRlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3c19mb3JtLWhlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlld3NfZm9ybS1wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fcmF0aW5nLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG5cbiAgICAmX19yYXRpbmdzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICBmb250LXNpemU6ICRmaWVsZF9mb250LXNpemU7XG5cbiAgICAgICAgQGlmICgkcmV2aWV3c19mb3JtLXR3by1jb2x1bW5zLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyZXZpZXdzX2Zvcm0tdHdvLWNvbHVtbnMtc3BhY2luZztcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRyZXZpZXdzLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIEBpZiAoJHJldmlld3NfZm9ybS10d28tY29sdW1ucy1kZXNrdG9wKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRyZXZpZXdzX2Zvcm0tdHdvLWNvbHVtbnMtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRyZXZpZXdzX2Zvcm0tYnV0dG9uLWFsaWduO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHJldmlld3NfZm9ybS1idXR0b24tYWxpZ24tZGVza3RvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJHJldmlld3NfZm9ybS1zdWJtaXQtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRyZXZpZXdzX2Zvcm0tc3VibWl0LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JhdGluZy1jb250cm9sIHtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGJvcmRlcjogJHJldmlld3NfZm9ybS1yYXRpbmctY29udHJvbC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIHBhZGRpbmc6ICRyZXZpZXdzX2Zvcm0tcmF0aW5nLWNvbnRyb2wtcGFkZGluZztcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWNvbnRlbnQtaGVpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmV2aWV3c19mb3JtLXJhdGluZy1jb250cm9sLWJhY2tncm91bmQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3JhdGUtc3RhcnMge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmX19yYXRlLWZlZWRiYWNrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3NfZm9ybS1mZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICAgICAgICBjb2xvcjogJHJldmlld3NfZm9ybS1mZWRiYWNrLXRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fcmV2aWV3LWZpZWxkIHtcbiAgICAgICAgbWluLWhlaWdodDogMTByZW07XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgfVxuXG4gICAgLmNzLXBhZ2luYXRpb25fX2NvbnRlbnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zcGFjaW5nIDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcmV2aWV3cy1zdW1tYXJ5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleDogMSAwIDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeSB7XG4gICAgICBmbGV4OiAwIDAgMzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19ub3RlIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fbm90ZS1yaWdodCB7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiAqLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZlNWI1O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19idXR0b25bZGlzYWJsZWRdIHNwYW4uY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19zdGFycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3N0YXJzIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3N0YXJzIHtcbiAgICAgICAgZmxleDogMCAxIDEwMCU7IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXJzIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lIGluc2lkZSBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2JhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19iYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLWxhYmVsIHtcbiAgICAgIGZsZXg6IDAgMSAzLjVlbTsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1jb3VudCB7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX2Jhci1wcm9ncmVzcyB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogOXJlbTtcbiAgICAgIGhlaWdodDogMC45ZW07XG4gICAgICBtYXJnaW46IDAgMC44cmVtIDAgMC43cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fYmFyLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZGZhNDsgfVxuICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM7IH1cbiAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1yZXZpZXdzLXN1bW1hcnlfX3JhdGluZ3MtYXZlcmFnZXMtaXRlbSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcmV2aWV3cy1zdW1tYXJ5X19yYXRpbmdzLWF2ZXJhZ2VzLWl0ZW0ge1xuICAgICAgICAgIG1heC13aWR0aDogNDByZW07IH0gfVxuICAgICAgLmNzLXJldmlld3Mtc3VtbWFyeV9fcmF0aW5ncy1hdmVyYWdlcy1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRyZXZpZXdzLXN1bW1hcnlfYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfZGVza3RvcC13aWR0aDogMzVyZW0gIWRlZmF1bHQ7XG5cbiRyZXZpZXdzLXN1bW1hcnlfYnV0dG9uLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1zdW1tYXJ5X2JhcnMtZmxleC1ncm93OiAxICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXJzLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXJzLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2Jhci1tYXgtd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9iYXItaGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG4kcmV2aWV3cy1zdW1tYXJ5X2Jhci1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItbWluLXdpZHRoOiA5cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItaGVpZ2h0OiAwLjllbSAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfcHJvZ3Jlc3MtYmFyLWZpbGwtYmFja2dyb3VuZDogJGNvbG9yX3Jldmlldy1iYXItYWN0aXZlICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1zdW1tYXJ5X25vdGUtZm9udC1zaXplOiA0cmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9ub3RlLWxlZnQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRyZXZpZXdzLXN1bW1hcnlfbm90ZS1yaWdodC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuXG4kcmV2aWV3cy1yYXRpbmdzLWF2ZXJhZ2VzX2hpZGU6IGZhbHNlICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGgtbW9iaWxlOiAyNXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfXJldmlld3Mtc3VtbWFyeSB7XG4gICAgJHJvb3Q6ICY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleDogMCAwICRyZXZpZXdzLXN1bW1hcnlfZGVza3RvcC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyZXZpZXdzLXN1bW1hcnlfc3BhY2luZztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3cy1zdW1tYXJ5X25vdGUtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRyZXZpZXdzLXN1bW1hcnlfbm90ZS1sZWZ0LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fbm90ZS1yaWdodCB7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3cy1zdW1tYXJ5X25vdGUtcmlnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHJldmlld3Mtc3VtbWFyeV9zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJHJldmlld3Mtc3VtbWFyeV9ib3JkZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkcmV2aWV3cy1zdW1tYXJ5X2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJHJldmlld3Mtc3VtbWFyeV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHJldmlld3Mtc3VtbWFyeV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19zdGFycyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFycyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlld3Mtc3VtbWFyeV9iYXJzLWZvbnQtc2l6ZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZSBpbnNpZGUgbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBmbGV4LWdyb3c6ICRyZXZpZXdzLXN1bW1hcnlfYmFycy1mbGV4LWdyb3c7XG4gICAgICAgIGNvbG9yOiAkcmV2aWV3cy1zdW1tYXJ5X2JhcnMtY29sb3I7XG4gICAgICAgIG1heC13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9iYXItbWF4LXdpZHRoO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRyZXZpZXdzLXN1bW1hcnlfc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHJldmlld3Mtc3VtbWFyeV9iYXItbWFyZ2luLWJvdHRvbSAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMy41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvdW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1wcm9ncmVzcyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItbWluLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMC43cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJldmlld3Mtc3VtbWFyeV9wcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmV2aWV3cy1zdW1tYXJ5X3Byb2dyZXNzLWJhci1maWxsLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yYXRpbmdzLWF2ZXJhZ2VzIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3cy1zdW1tYXJ5X3NwYWNpbmcgMCAwO1xuICAgICAgICBib3JkZXItdG9wOiAkcmV2aWV3cy1zdW1tYXJ5X2JvcmRlcjtcbiAgICAgICAgQGlmICgkcmV2aWV3cy1yYXRpbmdzLWF2ZXJhZ2VzX2hpZGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXdzLXN1bW1hcnlfYXZlcmFnZXNfbWF4LXdpZHRoLW1vYmlsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHJldmlld3Mtc3VtbWFyeV9hdmVyYWdlc19tYXgtd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtdGFicyB7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3JlbSAwIHJnYmEoMzMsIDMzLCAzMywgMC4yOCk7IH1cbiAgLmNzLXRhYnMtLWJhciB7XG4gICAgbWFyZ2luOiAwIDAgMCAtMS41cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmNzLXRhYnNfX3RyaWdnZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdHJpZ2dlcnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy10YWJzX190aXRsZSB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwICM2OTY5Njk7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgcGFkZGluZy10b3A6IDAuMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTsgfVxuICAgIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS0tYWN0aXZlIC5jcy10YWJzX190aXRsZS1saW5rOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgICAgICAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazp2aXNpdGVkLCAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLS1hY3RpdmUgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtLWFjdGl2ZSAuY3MtdGFic19fdGl0bGUtbGluazphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIsIGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGU6bm90KC5jcy10YWJzX190aXRsZS0tYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7IH1cbiAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4OyB9XG4gICAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDsgfVxuICAuY3MtdGFic19fdGl0bGUtbGluayB7XG4gICAgY29sb3I6ICMzRTNFM0U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBwYWRkaW5nOiAwLjFyZW0gMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMC4xcmVtIDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtdGFic19fdGl0bGUtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDUuNXJlbTsgfSB9XG4gICAgLmNzLXRhYnNfX3RpdGxlLWxpbms6aG92ZXIsIC5jcy10YWJzX190aXRsZS1saW5rOmFjdGl2ZSwgLmNzLXRhYnNfX3RpdGxlLWxpbms6Zm9jdXMsIC5jcy10YWJzX190aXRsZS1saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgICAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdGFicy0tYmFyIC5jcy10YWJzX190aXRsZS1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMC41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07IH0gfVxuICAgICAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazpob3ZlciwgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtbGluazphY3RpdmUsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbms6Zm9jdXMsIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLWxpbms6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy10YWJzLS1iYXIgLmNzLXRhYnNfX3RpdGxlLXNwYW46bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKCc7IH1cbiAgLmNzLXRhYnMtLWJhciAuY3MtdGFic19fdGl0bGUtc3Bhbjpub3QoOmVtcHR5KTphZnRlciB7XG4gICAgY29udGVudDogJyknOyB9XG4gIC5jcy10YWJzX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiR0YWJzX2JveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2UgIWRlZmF1bHQ7XG4kdGFic19pbnNldC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDAgJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHRhYnNfYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kdGFic190YWItdGl0bGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kdGFic190YWItdGl0bGUtZm9udC1zaXplOiAxLjhyZW0gIWRlZmF1bHQ7XG4kdGFic190YWItdGl0bGUtZm9udC1zaXplLW1vYmlsZTogMS4ycmVtICFkZWZhdWx0O1xuJHRhYnNfdGFiLWFjdGl2ZS10aXRsZS1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHRhYnNfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kdGFic190YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJHRhYnNfY29udGVudC1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4kdGFic19oZWlnaHQ6IDUuNXJlbSAhZGVmYXVsdDtcbiR0YWJzX2hlaWdodC1tb2JpbGU6IDRyZW0gIWRlZmF1bHQ7XG5cbiR0YWJzLS1iYXJfbWFyZ2luOiAwIDAgMCAtI3skcGFnZV9lZGdlLWd1dHRlcn0gIWRlZmF1bHQ7XG4kdGFicy0tYmFyX3BhZGRpbmc6IDAgJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHRhYnMtLWJhcl90YWItdGl0bGUtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiR0YWJzLS1iYXJfdGFiLXRpdGxlLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJHRhYnMtLWJhcl90YWItYm9yZGVyLXRvcC1yYWRpdXM6IDVweCAhZGVmYXVsdDtcblxuLiN7JG5zfXRhYnMge1xuICAgICRyb290OiAmO1xuICAgIGJveC1zaGFkb3c6ICR0YWJzX2JveC1zaGFkb3c7XG5cbiAgICAmLS1iYXIge1xuICAgICAgICBtYXJnaW46ICR0YWJzLS1iYXJfbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkdGFicy0tYmFyX3BhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJzX2JvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAjeyRyb290fS0tYmFyICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWJzX3RhYi10aXRsZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAkdGFic19pbnNldC1ib3gtc2hhZG93O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjJyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFic190YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgI3skcm9vdH1fX3RpdGxlLWxpbmsge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnNfdGFiLWFjdGl2ZS10aXRsZS1jb2xvcjtcblxuICAgICAgICAgICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnNfdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6dmlzaXRlZCxcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzX3RhYi1hY3RpdmUtdGl0bGUtY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH0tLWJhciAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1iYXIgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogJHRhYnNfYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X190aXRsZS0tYWN0aXZlKTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkdGFic190YWItdGl0bGUtYmFja2dyb3VuZCwgNSUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0YWJzLS1iYXJfdGFiLWJvcmRlci10b3AtcmFkaXVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdGFicy0tYmFyX3RhYi1ib3JkZXItdG9wLXJhZGl1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLWxpbmsge1xuICAgICAgICBjb2xvcjogJHRhYnNfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdGFic19oZWlnaHQtbW9iaWxlO1xuICAgICAgICBoZWlnaHQ6ICR0YWJzX2hlaWdodC1tb2JpbGU7XG4gICAgICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYnNfdGFiLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICR0YWJzX3RhYi10aXRsZS1mb250LXNpemUtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjFyZW0gJHRhYnNfY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdGFic190YWItdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0YWJzX2hlaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogJHRhYnNfaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJHRhYnNfdGFiLXRpdGxlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tYmFyICYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0YWJzLS1iYXJfdGFiLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYnMtLWJhcl90YWItdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFicy0tYmFyX3RhYi10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLXNwYW46bm90KDplbXB0eSkge1xuICAgICAgICAjeyRyb290fS0tYmFyICYge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJzX2NvbnRlbnQtcGFkZGluZztcbiAgICB9XG59XG4iLCIvKiogU3R5bGVzIGZvcm0gX3RhYmxlcy5sZXNzIG9mIHRoZW1lIGJsYW5rIGFyZSBtb3ZlZCBoZXJlLlxuICAgKiBGb3Igc29tZSB0YWJsZXMgdGhlcmUgaXMgbW9iaWxlIGxheW91dCBhcHBsaWVkIGFsc28gZm9yIHRhYmxldCByZXNvbHV0aW9uc1xuICAgKiBWYXJpYWJsZXMgZm9yIHR5cG9ncmFweSwgY29sb3JzLCBib3JkZXIgZXRjLiBhcmUgYWRkZWRcbiovXG5cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZS9taXhpbic7XG5cbiR0YWJsZV9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZV9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZV9yb3ctYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kdGFibGVfY29sdW1uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiR0YWJsZV9ldmVuLXJvdy1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlX2hlYWQtYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHRhYmxlX2hlYWQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiR0YWJsZV9oZWFkLWZvbnQtc2l6ZTogMTVweCAhZGVmYXVsdDtcbiR0YWJsZV9oZWFkLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFibGVfaGVhZF9mb250LXNpemUtLW1vYmlsZTogMS40cmVtICFkZWZhdWx0O1xuJHRhYmxlX2hlYWRfbW92ZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG5cbiR0YWJsZV9pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kdGFibGVfaXRlbS1mb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoICFkZWZhdWx0O1xuJHRhYmxlX2l0ZW0tZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiR0YWJsZV9pdGVtLWxpbmUtaGVpZ2h0OiAxNTUlO1xuJHRhYmxlX2l0ZW0tcGFkZGluZzogMC44cmVtIDFyZW0gIWRlZmF1bHQ7XG4kdGFibGVfYWN0aW9ucy1saW5rcy1zZXBhcmF0b3I6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4udGFibGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuY2FydCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZ3JvdXBlZCB7XG4gICAgICAgIHRib2R5Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50YWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlX2JvcmRlci1ib3R0b207XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZV9iYWNrZ3JvdW5kO1xuXG4gICAgJiA+IGNhcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogJHRhYmxlX2l0ZW0tcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9oZWFkLWJvcmRlci1ib3R0b207XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJsZV9oZWFkLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYmxlX2hlYWQtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJsZV9oZWFkLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFibGVfaXRlbS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRhYmxlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlX3Jvdy1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWJsZV9jb2x1bW4tYm9yZGVyO1xuXG4gICAgICAgICAgICAgICAgJi5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGVfcm93LWJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEgKyBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdGFibGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZV9hY3Rpb25zLWxpbmtzLXNlcGFyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgICAgICAgLmFjY291bnQgJiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZV9ldmVuLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfZ2FsbGVyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcmsge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgLml0ZW1zLXF0eSxcbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICR0YWJsZV9pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIH1cbn1cblxuLy8gIE1vYmlsZSBsYXlvdXRcbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0KCk7XG5cbiAgICAgICAgLnRhYmxlIHtcbiAgICAgICAgICAgICY6bm90KC5jb21wYXJpc29uKSB7XG4gICAgICAgICAgICAgICAgJjpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtbW9iaWxlLWxheW91dChcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX2NvbG9yOiAkdGFibGVfaGVhZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX21vdmUtb24tbW9iaWxlOiAkdGFibGVfaGVhZF9tb3ZlLW9uLW1vYmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAkdGFibGVfaGVhZF9mb250LXNpemUtLW1vYmlsZVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHRhYmxlX2hlYWRfbW92ZS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHtcbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdGgsXG4gICAgICAgIHRib2R5IHRkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU29tZSB0YWJsZXMgZGlzcGxheSBtb2JpbGUgbGF5b3V0IGFsc28gb24gdGFibGV0IHJlc29sdXRpb25cbi50YWJsZS13cmFwcGVyLmNhcnQsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0KCk7XG5cbiAgICAudGFibGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLW1vYmlsZS1sYXlvdXQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyoqIFN0eWxlcyBmb3JtIF90YWJsZXMubGVzcyBvZiB0aGVtZSBibGFuayBhcmUgbW92ZWQgaGVyZS5cbiAgICogRm9yIHNvbWUgdGFibGVzIHRoZXJlIGlzIG1vYmlsZSBsYXlvdXQgYXBwbGllZCBhbHNvIGZvciB0YWJsZXQgcmVzb2x1dGlvbnNcbiAgICogVmFyaWFibGVzIGZvciB0eXBvZ3JhcHksIGNvbG9ycywgYm9yZGVyIGV0Yy4gYXJlIGFkZGVkXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLnRhYmxlLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLnRhYmxlLXdyYXBwZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlLXdyYXBwZXIuY2FydCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9IH1cbiAgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCB0Ym9keTpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi50YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAudGFibGUgPiBjYXB0aW9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbTsgfVxuICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRoZWFkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZCB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjOyB9IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkLmFjdGlvbnMgYSArIGE6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmFjY291bnQgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3Qge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9IH1cbiAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IC5tYXJrIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IC5hbW91bnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLnRhYmxlIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAudGFibGUgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gIC50YWJsZSAuaXRlbXMtcXR5LFxuICAudGFibGUgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTU1JTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAudGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscyk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkOmJlZm9yZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2FucyBOYXJyb3dcIjsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZC5hY3Rpb25zIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Ym9keSB0ZC5hY3Rpb25zOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIC8qIDEgKi8gfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0aCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0ZCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICB3aWR0aDogMzAlOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGZvb3QgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY29tcGFyaXNvbik6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRmb290IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jb21wYXJpc29uKTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB0Ym9keSB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNvbXBhcmlzb24pOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwLjVyZW07IH1cbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0Ym9keSB0aCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRib2R5IHRoLFxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGJvZHkgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnRhYmxlLXdyYXBwZXIuY2FydCxcbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSxcbiAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlOmxhc3QtY2hpbGQsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRoZWFkLFxuICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwYWRkaW5nOiAwLjJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRib2R5IHRkOmxhc3QtY2hpbGQsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZDpiZWZvcmUsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQ6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjogXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICMyMTIxMjE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJQVCBTYW5zIE5hcnJvd1wiOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Ym9keSB0ZC5hY3Rpb25zLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRib2R5IHRkLmFjdGlvbnMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGJvZHkgdGQuYWN0aW9uczpiZWZvcmUsXG4gICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGJvZHkgdGQuYWN0aW9uczpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QsXG4gICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAudGFibGUtd3JhcHBlci5jYXJ0IC50YWJsZSB0Zm9vdCB0aCxcbiAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0aCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRkLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRkIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRyLFxuICAgICAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLnRhYmxlIHRmb290IHRyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnRhYmxlLXdyYXBwZXIuY2FydCAudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICAgICAgIC50YWJsZS13cmFwcGVyLmNhcnQgLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkIHRkLFxuICAgICAgICAuYWNjb3VudCAudGFibGUtd3JhcHBlciAudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICAgICAgIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHRhYmxlLW1vYmlsZS1sYXlvdXQtaG9vaygpIHtcbn1cblxuQG1peGluIHRhYmxlLXdyYXBwZXItbW9iaWxlLWxheW91dC1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZS9ob29rJztcblxuJGhlYWRfY29sb3I6ICRjb2xvcl9taW5lc2hhZnQgIWRlZmF1bHQ7XG4kaGVhZF9tb3ZlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiB0YWJsZS1tb2JpbGUtbGF5b3V0KFxuICAgICRoZWFkX2NvbG9yOiAkaGVhZF9jb2xvcixcbiAgICAkaGVhZF9tb3ZlLW9uLW1vYmlsZTogJGhlYWRfbW92ZS1vbi1tb2JpbGUsXG4gICAgJGhlYWRfZm9udC1zaXplLS1tb2JpbGU6ICRoZWFkX2ZvbnQtc2l6ZS0tbW9iaWxlXG4pIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRib2R5IHRkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZF9mb250LXNpemUtLW1vYmlsZTtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRoZWFkX21vdmUtb24tbW9iaWxlKSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpICc6ICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3Rpb25zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYWx0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGZvb3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGVcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRoLFxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGUtbW9iaWxlLWxheW91dC1ob29rKCk7XG59XG5cbkBtaXhpbiB0YWJsZS13cmFwcGVyLW1vYmlsZS1sYXlvdXQoKSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBUbyBoaWRlIHVubmVjZXNzYXJ5IGhvcml6b250YWwgc2Nyb2xsYmFyIGluIFNhZmFyaVxuXG4gICAgQGluY2x1ZGUgdGFibGUtd3JhcHBlci1tb2JpbGUtbGF5b3V0LWhvb2soKTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy10b29sYmFyIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy10b29sYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy10b29sYmFyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy10b29sYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDZweCAxMXB4O1xuICAgIHdpZHRoOiA0OCU7XG4gICAgb3JkZXI6IDE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0I2QkVDNTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGU6YmVmb3JlLCAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuNnJlbTtcbiAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNkJFQzU7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy10b29sYmFyIC5yZWZpbmUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZTphZnRlciB7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7IH1cbiAgICAuY3MtdG9vbGJhciAucmVmaW5lLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmNzLXRvb2xiYXIgLnJlZmluZS10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy10b29sYmFyIC5yZWZpbmUtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy10b29sYmFyX19pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy10b29sYmFyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4OiAxOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXNvcnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXNvcnRlciAuY3MtaHRtbC1zZWxlY3Qge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE5cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1zb3J0ZXIge1xuICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tc29ydGVyIC5zb3J0ZXItbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS12aWV3bW9kZS1zd2l0Y2hlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgLmNzLXRvb2xiYXIgLmZpZWxkIC5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy10b29sYmFyIC5jcy1odG1sLXNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gIC5jcy10b29sYmFyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgbWluLWhlaWdodDogNHJlbTsgfVxuXG4udG9vbGJhci1hbW91bnQge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXNvcnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXNvcnRlcl9fbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMS40cmVtIDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuY3Mtc29ydGVyX19zZWxlY3Qge1xuICAgIHdpZHRoOiAwcHg7IH1cbiAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNkJFQzU7XG4gICAgbWF4LXdpZHRoOiAxODhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyOmJlZm9yZSwgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2QkVDNTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuICAgICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogY2FsYyggMS41cmVtICsgMS4ycmVtIC0gMC40cmVtKTsgfVxuICAgICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMS41cmVtOyB9XG4gICAgICAgIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyOmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoIDEuMnJlbSArIDEuMnJlbSAtIDAuNHJlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogNC4ycmVtO1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9IH1cbiAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIsIC5jcy1zb3J0ZXIgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEuMXJlbTtcbiAgICAgIGhlaWdodDogMnB4OyB9XG4gICAgLmNzLXNvcnRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxLjJyZW07IH1cbiAgICAuY3Mtc29ydGVyIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAxLjlyZW07IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLWxpbWl0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmNzLWxpbWl0ZXJfX2xhYmVsLFxuICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWxpbWl0ZXJfX2xhYmVsLS1wcmVmaXgsXG4gICAgLmZpZWxkIC5jcy1saW1pdGVyX19sYWJlbC0tcHJlZml4IHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDFyZW07IH1cbiAgICAuY3MtbGltaXRlcl9fbGFiZWwtLXN1ZmZpeCxcbiAgICAuZmllbGQgLmNzLWxpbWl0ZXJfX2xhYmVsLS1zdWZmaXgge1xuICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTsgfVxuICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogMCA2cHggMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0VGRUZGMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAzLjVyZW07XG4gICAgbWluLWhlaWdodDogMy4xcmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwLjNlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6aG92ZXIsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjpmb2N1cywgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaWUxMSAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWluLXdpZHRoOiAzLjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAuM2VtO1xuICAgICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyLCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1pdGVtLS1jdXJyZW50IC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLW51bWJlcjpob3ZlciwgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAuY3MtbGltaXRlcl9fcGFnaW5hdGlvbi1udW1iZXI6Zm9jdXMsIC5jcy1saW1pdGVyX19wYWdpbmF0aW9uLWl0ZW0tLWN1cnJlbnQgLmNzLWxpbWl0ZXJfX3BhZ2luYXRpb24tbnVtYmVyOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmNzLWxpbWl0ZXIgLmNzLWh0bWwtc2VsZWN0LFxuICAuY3MtbGltaXRlciAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIsXG4gIC5jcy1saW1pdGVyIHNlbGVjdCB7XG4gICAgbWluLXdpZHRoOiAzcmVtO1xuICAgIG1pbi1oZWlnaHQ6IDRyZW07IH1cblxuLmNzLWRhc2hib2FyZCAubGltaXRlci1sYWJlbCxcbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5saW1pdGVyLXRleHQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5jcy1kYXNoYm9hcmQgLmxpbWl0ZXItb3B0aW9ucyB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICAvKipcbiAgICAgKiBJbnB1dCBtb2RlXG4gICAgICovIH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnZpZXctYWxsLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgICBtYXJnaW4tbGVmdDogMnZ3OyB9XG4gIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDZweCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0VGRUZGMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjFyZW07XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyOyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGE6aG92ZXIsIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhOmZvY3VzLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYTphY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0gYSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmllMTEgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGEge1xuICAgICAgICAgIGhlaWdodDogMXB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtIGEucHJldmlvdXMsIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbSBhLm5leHQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLmN1cnJlbnQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRkY0NjA0OyB9XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5jdXJyZW50IHN0cm9uZyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMuMXJlbTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC4zZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7IH1cbiAgICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0uY3VycmVudCBzdHJvbmcgLmxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0uY3VycmVudCBzdHJvbmcsIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5jdXJyZW50IHN0cm9uZzpob3ZlciwgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLmN1cnJlbnQgc3Ryb25nOmZvY3VzLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0uY3VycmVudCBzdHJvbmc6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tcHJldmlvdXMsIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLW5leHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tcHJldmlvdXMgc3BhbiwgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tbmV4dCBzcGFuIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzLCAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsgfVxuICAgICAgICAgICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tcHJldmlvdXMgc3BhbiwgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb24gLnBhZ2VzLWl0ZW1zIC5pdGVtLnBhZ2VzLWl0ZW0tbmV4dCBzcGFuIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwOyB9IH1cbiAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1wcmV2aW91cyBzcGFuIHN2ZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLXByZXZpb3VzIHN2ZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIC5wYWdlcy1pdGVtcyAuaXRlbS5wYWdlcy1pdGVtLW5leHQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1uZXh0IHN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbiAucGFnZXMtaXRlbXMgLml0ZW0ucGFnZXMtaXRlbS1uZXh0IHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19wYWdlLXByb3ZpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlci1pbnB1dC5pbnB1dC10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICB3aWR0aDogNC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtOyB9XG4gIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19wYWdlLXByb3ZpZGVyLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmllMTEgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbiB7XG4gICAgICBoZWlnaHQ6IDFweDsgfVxuICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgZmlsbDogI0ZGNDYwNDtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogMC42cmVtOyB9IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLWljb24gZyB7XG4gICAgICBmaWxsOiAjMDAwOyB9XG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi0tZGlzYWJsZWQgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uIHtcbiAgICAgIGZpbGw6ICNkY2RjZGM7IH1cbiAgICAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uOm5vdCguY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLS1kaXNhYmxlZCk6aG92ZXIgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi1pY29uLFxuICAgIC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb246bm90KC5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uX19hY3Rpb24tLWRpc2FibGVkKTpmb2N1cyAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLWljb24sXG4gICAgLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbjpub3QoLmNzLXRvb2xiYXJfX2l0ZW0tLXBhZ2luYXRpb25fX2FjdGlvbi0tZGlzYWJsZWQpOmFjdGl2ZSAuY3MtdG9vbGJhcl9faXRlbS0tcGFnaW5hdGlvbl9fYWN0aW9uLWljb24ge1xuICAgICAgZmlsbDogIzE0MmI5ZTsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3Mtdmlld21vZGUtc3dpdGNoZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDRweCAwIDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZXMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZSB7XG4gICAgbWFyZ2luOiAwIDJweCAwIDA7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMy41cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMC4zZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uLCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOmhvdmVyLCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOmZvY3VzLCAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtYWN0aW9uIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uIGcge1xuICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWdyaWQge1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjFyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24tLWdyaWQge1xuICAgICAgICB3aWR0aDogMi45cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNnJlbTsgfSB9XG4gIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uLS1saXN0IHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi4xcmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1pY29uLS1saXN0IHtcbiAgICAgICAgd2lkdGg6IDIuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjZyZW07IH0gfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtLWN1cnJlbnQgLmNzLXZpZXdtb2RlLXN3aXRjaGVyX19tb2RlLWljb24gZyB7XG4gICAgZmlsbDogIzAwMDsgfVxuICAuY3Mtdmlld21vZGUtc3dpdGNoZXJfX21vZGUtaWNvbiArIC5jcy12aWV3bW9kZS1zd2l0Y2hlcl9fbW9kZS1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kdG9vbGJhcl9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHRvb2xiYXJfZmxleC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHRvb2xiYXJfZmxleC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9mbGV4LXdyYXA6IHdyYXAgIWRlZmF1bHQ7XG4kdG9vbGJhcl9mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiR0b29sYmFyX2ZvbnQtd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0O1xuJHRvb2xiYXJfdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbiR0b29sYmFyX2VsZW1lbnRzLXBhZGRpbmctdGFibGV0LXVwOiAwIDAgMCAwICFkZWZhdWx0O1xuJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luOiAwIDAgMS41cmVtICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9zZWxlY3QtbWluLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcbiR0b29sYmFyX2lucHV0LW1heC1oZWlnaHQ6ICR0b29sYmFyX3NlbGVjdC1taW4taGVpZ2h0ICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQ6IDIwcmVtICFkZWZhdWx0OyAvLyBzZXQgJ25vbmUnIHRvIGRpc2FibGVcblxuJHRvb2xiYXJfY29tcG9uZW50cy1hbGlnbm1lbnQ6IChcbiAgICBhbW91bnQ6IGxlZnQsXG4gICAgc29ydGVyOiBsZWZ0LFxuICAgIGxpbWl0ZXI6IGxlZnQsXG4gICAgdmlld21vZGUtc3dpdGNoZXI6IGxlZnQsXG4gICAgcGFnaW5hdGlvbjogcmlnaHQsXG4pICFkZWZhdWx0O1xuXG4kdG9vbGJhcl9hbW91bnQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9zb3J0ZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9saW1pdGVyLWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xuJHRvb2xiYXJfdmlld21vZGUtc3dpdGNoZXItYWxpZ246IGxlZnQgIWRlZmF1bHQ7XG4kdG9vbGJhcl9wYWdpbmF0aW9uLWFsaWduOiByaWdodCAhZGVmYXVsdDtcblxuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2ZzogdHJ1ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoOiAwLjZyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQ6IDAuMXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yOiAkZm9ybV9maWVsZC1ib3JkZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yICFkZWZhdWx0O1xuLy8gQmVsb3cgbmF2aWdhdGlvbl9pY29uIHNldHRpbmdzIGFyZSB1c2FibGUgb25seSBpZiB5b3UgdXNlIHBzZXVkb2ljb25cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1uZXh0OiAncmlnaHQnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0OiAwICFkZWZhdWx0O1xuXG4uI3skbnN9dG9vbGJhciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBmb250LXNpemU6ICR0b29sYmFyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRvb2xiYXJfZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0b29sYmFyX3RleHQtdHJhbnNmb3JtO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6ICR0b29sYmFyX2Rpc3BsYXk7XG5cbiAgICAgICAgQGlmICR0b29sYmFyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJHRvb2xiYXJfZmxleC1hbGlnbi1pdGVtcztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHRvb2xiYXJfZmxleC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBmbGV4LXdyYXA6ICR0b29sYmFyX2ZsZXgtd3JhcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5yZWZpbmUtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMXB4O1xuICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm1fZmllbGQtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXR5cGUsXG4gICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1uZXh0LFxuICAgICAgICAgICAgJGFycm93LW9mZnNldDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQsXG4gICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgJGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0LFxuICAgICAgICAgICAgJGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OjE1cHhcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogJHRvb2xiYXJfZWxlbWVudHMtbWFyZ2luO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0b29sYmFyX2VsZW1lbnRzLXBhZGRpbmctdGFibGV0LXVwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRtb2RpZmllciwgJHZhbHVlIGluICR0b29sYmFyX2NvbXBvbmVudHMtYWxpZ25tZW50IHtcbiAgICAgICAgICAgIEBpZiAkdmFsdWUgPT0gcmlnaHQge1xuICAgICAgICAgICAgICAgICYtLSN7JG1vZGlmaWVyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkdG9vbGJhcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGltaXRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNvcnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgLmNzLWh0bWwtc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE5cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcblxuICAgICAgICAgICAgICAgIC5zb3J0ZXItbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZpZXdtb2RlLXN3aXRjaGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZmllbGQgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sYmFyX2ZvbnQtd2VpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuI3skbnN9aHRtbC1zZWxlY3Qge1xuICAgICAgICBAaWYgJHRvb2xiYXJfc2VsZWN0cy1tYXgtd2lkdGgtdGFibGV0ICE9IG5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkdG9vbGJhcl9zZWxlY3RzLW1heC13aWR0aC10YWJsZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0b29sYmFyX3NlbGVjdC1taW4taGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvYW1vdW50LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL3NvcnRlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9saW1pdGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL3BhZ2luYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2xiYXIvdmlld21vZGUtc3dpdGNoZXIuc2Nzcyc7XG4iLCIudG9vbGJhci1hbW91bnQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5cbiRzb3J0ZXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRzb3J0ZXJfZmxleC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuXG4kc29ydGVyX2xhYmVsLXBhZGRpbmc6IDAgMS40cmVtIDAgMCAhZGVmYXVsdDtcbiRzb3J0ZXJfbGFiZWwtd2hpdGUtc3BhY2U6IG5vd3JhcCAhZGVmYXVsdDtcblxuLiN7JG5zfXNvcnRlciB7XG4gICAgZGlzcGxheTogJHNvcnRlcl9kaXNwbGF5O1xuXG5cbiAgICBAaWYgJHNvcnRlcl9kaXNwbGF5ID09IGZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogJHNvcnRlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZzogJHNvcnRlcl9sYWJlbC1wYWRkaW5nO1xuICAgICAgICB3aGl0ZS1zcGFjZTogJHNvcnRlcl9sYWJlbC13aGl0ZS1zcGFjZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgIH1cblxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgfVxuXG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm1fZmllbGQtYm9yZGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDE4OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJ2Fycm93JyxcbiAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAnZG93bicsXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAwLjdyZW0sXG4gICAgICAgICAgICAgICAgJGhlaWdodDogMC4xcmVtLFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGZvcm1fZmllbGQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGZvcm1fZmllbGQtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICdkb3duJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCAxLjJyZW0gKyAxLjJyZW0gLSAwLjRyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHdpZHRoOiA0LjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdyB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICByaWdodDogMS45cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBwYWdpbmF0aW9uLWxpc3QtaG9vaygpIHtcbn1cblxuQG1peGluIHBhZ2luYXRpb24taXRlbS1ob29rKCkge1xufVxuXG5AbWl4aW4gcGFnaW5hdGlvbi1udW1iZXItaG9vaygpIHtcbn1cblxuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50LWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL21peGlucy5zY3NzJztcblxuJGxpbWl0ZXJfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRsaW1pdGVyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcblxuJGxpbWl0ZXJfbGFiZWxzLXdoaXRlLXNwYWNlOiBub3dyYXAgIWRlZmF1bHQ7XG4kbGltaXRlcl9tYXJnaW46IDAgMXJlbSAwIDA7XG4kbGltaXRlcl9wcmVmaXgtbGFiZWwtcGFkZGluZzogMCAxcmVtIDAgMXJlbSAhZGVmYXVsdDtcbiRsaW1pdGVyX3N1ZmZpeC1sYWJlbC1wYWRkaW5nOiAwIDAgMCAxcmVtICFkZWZhdWx0O1xuXG4kc29ydGVyX3NlbGVjdC1taW4taGVpZ2h0OiAkdG9vbGJhcl9zZWxlY3QtbWluLWhlaWdodCAhZGVmYXVsdDtcblxuLiN7JG5zfWxpbWl0ZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogJGxpbWl0ZXJfZGlzcGxheTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAkbGltaXRlcl9tYXJnaW47XG5cbiAgICBAaWYgJGxpbWl0ZXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRsaW1pdGVyX2ZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgJixcbiAgICAgICAgLmZpZWxkICYge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6ICRsaW1pdGVyX2xhYmVscy13aGl0ZS1zcGFjZTtcblxuICAgICAgICAgICAgJi0tcHJlZml4IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGltaXRlcl9wcmVmaXgtbGFiZWwtcGFkZGluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tc3VmZml4IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGltaXRlcl9zdWZmaXgtbGFiZWwtcGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWxpc3QoKTtcbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyKCk7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAvLyBCdWc6IFNldHRpbmcgbWluLWhlaWdodCBicmVha3MgYWxpZ24taXRlbXM6IGNlbnRlciBpbiBpZTExLlxuICAgICAgICAgICAgLy8gU2V0dGluZyBoZWlnaHQgdG8gYSB2YWx1ZSBsZXNzIHRoZW4gbWluLWhlaWdodCBmaXhlcyB0aGUgYWxpZ24taXRlbXM6IGNlbnRlciBpc3N1ZSBpbiBJRTExLCBidXQgdGhlIGNvbnRhaW5lciBzdGlsbCBzZXRzIGl0cyBzaXplIGJhc2VkIG9uIG1pbi1oZWlnaHRcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3BhZ2luYXRpb24taXRlbS0tY3VycmVudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skbnN9aHRtbC1zZWxlY3QsXG4gICAgLiN7JG5zfWh0bWwtc2VsZWN0X190cmlnZ2VyLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICAgICAgbWluLWhlaWdodDogJHNvcnRlcl9zZWxlY3QtbWluLWhlaWdodDtcbiAgICB9XG59XG5cbi8vdXNlciBhcmVhIGxpbWl0ZXIgYWZ0ZXIgcmVmYWN0b3JcblxuLiN7JG5zfWRhc2hib2FyZCB7XG4gICAgLmxpbWl0ZXItbGFiZWwsXG4gICAgLmxpbWl0ZXItdGV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAubGltaXRlci10ZXh0IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAubGltaXRlci1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sYmFyL2hvb2tzLnNjc3MnO1xuXG4kcGFnaW5hdGlvbi1saXN0X2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saXN0X2ZsZXgtYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWRlZmF1bHQ7XG5AbWl4aW4gcGFnaW5hdGlvbi1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgZGlzcGxheTogJHBhZ2luYXRpb24tbGlzdF9kaXNwbGF5O1xuXG4gICAgQGlmICRsaW1pdGVyX2Rpc3BsYXkgPT0gZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkcGFnaW5hdGlvbi1saXN0X2ZsZXgtYWxpZ24taXRlbXM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0LWhvb2soKTtcbn1cblxuJHBhZ2luYXRpb24taXRlbV9tYXJnaW46IDAgNnB4IDAgMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fcGFkZGluZzogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX2JvcmRlci1jb2xvcjogJGJvcmRlcl9jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyOiAkcGFnaW5hdGlvbi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRwYWdpbmF0aW9uLWl0ZW0tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbV9yb3VuZC1lZGdlczogdHJ1ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtX2FzLWNpcmNsZTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogJHBhZ2luYXRpb24taXRlbV9tYXJnaW47XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbV9wYWRkaW5nO1xuICAgIGJvcmRlcjogJHBhZ2luYXRpb24taXRlbV9ib3JkZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLWl0ZW1fbWFyZ2luID09XG4gICAgICAgIDAgYW5kXG4gICAgICAgICRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyLXdpZHRoICE9XG4gICAgICAgIDAgYW5kXG4gICAgICAgICRwYWdpbmF0aW9uLWl0ZW1fYm9yZGVyICE9XG4gICAgICAgIG5vbmVcbiAgICB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcGFnaW5hdGlvbi1pdGVtX2JvcmRlci13aWR0aH07XG4gICAgfVxuXG4gICAgQGlmICRwYWdpbmF0aW9uLWl0ZW1fcm91bmQtZWRnZXMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1pdGVtX3JvdW5kLWVkZ2VzLXJhZGl1cztcbiAgICB9XG5cbiAgICBAaWYgJHBhZ2luYXRpb24taXRlbV9hcy1jaXJjbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWhvb2soKTtcbn1cblxuJHBhZ2luYXRpb24tbnVtYmVyX21pbi13aWR0aDogMy41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX21pbi1oZWlnaHQ6IDMuMXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9wYWRkaW5nOiAwIDAuM2VtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1udW1iZXJfdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbnVtYmVyX3RyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0ICFkZWZhdWx0O1xuQG1peGluIHBhZ2luYXRpb24tbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4taGVpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbnVtYmVyX3BhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyX2JhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbnVtYmVyX2ZvbnQtd2VpZ2h0O1xuICAgIHRyYW5zaXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90cmFuc2l0aW9uO1xuXG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyX2NvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlcl90ZXh0LWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbnVtYmVyLS1ob3Zlcl9iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLW51bWJlci0taG92ZXJfdGV4dC1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItaG9vaygpO1xufVxuXG4kcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW51bWJlci0tY3VycmVudF9iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5AbWl4aW4gcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg7XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24tbnVtYmVyX21pbi1oZWlnaHQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1udW1iZXJfcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLW51bWJlcl9mb250LXdlaWdodDtcbiAgICB0cmFuc2l0aW9uOiAkcGFnaW5hdGlvbi1udW1iZXJfdHJhbnNpdGlvbjtcblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50X2NvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnRfYmFja2dyb3VuZDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50LWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiRwYWdpbmF0aW9uX2NvbnRlbnQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2NvbnRlbnQtZmxleC1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb25fcHJlZml4LWxhYmVsLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX3ByZWZpeC1sYWJlbC1wYWRkaW5nOiAwIDFyZW0gMCAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbl9wYWdlLXByb3ZpZGVyLWlucHV0LXdpZHRoOiA0LjVlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX3BhZ2UtcHJvdmlkZXItaW5wdXQtZm9udC1zaXplOiAwLjg1ZW0gIWRlZmF1bHQ7XG5cbi8vIHByZXYvbmV4dCBhcnJvd3NcbiRwYWdpbmF0aW9uX2FjdGlvbi1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLXdpZHRoOiAwLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbl9hY3Rpb24taWNvbi1oZWlnaHQ6IDIuNHJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLXRyYW5zaXRpb246IGZpbGwgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aW9uLS1ob3Zlcl9pY29uLWZpbGw6ICRjb2xvcl90b3JlYS1iYXkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3Rpb24tLWRpc2FibGVkX2ljb24tZmlsbDogJGNvbG9yX2FsdG8gIWRlZmF1bHQ7XG5cbi5jcy10b29sYmFyX19pdGVtLS1wYWdpbmF0aW9uIHtcbiAgICAkcm9vdDogJjtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC52aWV3LWFsbC1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ibGFjaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJ2dztcbiAgICB9XG4gICAgLnBhZ2VzLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1saXN0KCk7XG4gICAgICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uX2NvbnRlbnQtZGlzcGxheTtcblxuICAgICAgICBAaWYgJGxpbWl0ZXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkcGFnaW5hdGlvbl9jb250ZW50LWZsZXgtYWxpZ24taXRlbXM7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0oKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXIoKTtcblxuICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICAvLyBCdWc6IFNldHRpbmcgbWluLWhlaWdodCBicmVha3MgYWxpZ24taXRlbXM6IGNlbnRlciBpbiBpZTExLlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXR0aW5nIGhlaWdodCB0byBhIHZhbHVlIGxlc3MgdGhlbiBtaW4taGVpZ2h0IGZpeGVzIHRoZSBhbGlnbi1pdGVtczogY2VudGVyIGlzc3VlIGluIElFMTEsIGJ1dCB0aGUgY29udGFpbmVyIHN0aWxsIHNldHMgaXRzIHNpemUgYmFzZWQgb24gbWluLWhlaWdodFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAmLnByZXZpb3VzLFxuICAgICAgICAgICAgICAgICAgICAmLm5leHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1udW1iZXItLWN1cnJlbnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFnZXMtaXRlbS1wcmV2aW91cyxcbiAgICAgICAgICAgICYucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFnZXMtaXRlbS1wcmV2aW91cyB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElucHV0IG1vZGVcbiAgICAgKi9cbiAgICAmX19wYWdlLXByb3ZpZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICZfX3BhZ2UtcHJvdmlkZXItaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LWhlaWdodDogJHRvb2xiYXJfaW5wdXQtbWF4LWhlaWdodDsgLy8gdmFyIGluaGVyaXRlZCBmcm9tIC4vdG9vbGJhclxuICAgICAgICB3aWR0aDogJHBhZ2luYXRpb25fcGFnZS1wcm92aWRlci1pbnB1dC13aWR0aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uX3BhZ2UtcHJvdmlkZXItaW5wdXQtZm9udC1zaXplO1xuICAgIH1cblxuICAgICZfX3BhZ2UtcHJvdmlkZXItbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtaW4td2lkdGg6ICRwYWdpbmF0aW9uLW51bWJlcl9taW4td2lkdGg7IC8vIHZhciBpbmhlcml0ZWQgZnJvbSAuL21peGluc1xuICAgICAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1udW1iZXJfbWluLWhlaWdodDsgLy8gdmFyIGluaGVyaXRlZCBmcm9tIC4vbWl4aW5zXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgLy8gQnVnOiBTZXR0aW5nIG1pbi1oZWlnaHQgYnJlYWtzIGFsaWduLWl0ZW1zOiBjZW50ZXIgaW4gaWUxMS5cbiAgICAgICAgICAgIC8vIFNldHRpbmcgaGVpZ2h0IHRvIGEgdmFsdWUgbGVzcyB0aGVuIG1pbi1oZWlnaHQgZml4ZXMgdGhlIGFsaWduLWl0ZW1zOiBjZW50ZXIgaXNzdWUgaW4gSUUxMSwgYnV0IHRoZSBjb250YWluZXIgc3RpbGwgc2V0cyBpdHMgc2l6ZSBiYXNlZCBvbiBtaW4taGVpZ2h0XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uX2FjdGlvbi1pY29uLWhlaWdodDtcbiAgICAgICAgZmlsbDogJHBhZ2luYXRpb25fYWN0aW9uLWljb24tZmlsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogJHBhZ2luYXRpb25fYWN0aW9uLWljb24tdHJhbnNpdGlvbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDAuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGcge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2JsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2FjdGlvbi0tZGlzYWJsZWQgJiB7XG4gICAgICAgICAgICBmaWxsOiAkcGFnaW5hdGlvbi1hY3Rpb24tLWRpc2FibGVkX2ljb24tZmlsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19hY3Rpb246bm90KCN7JHJvb3R9X19hY3Rpb24tLWRpc2FibGVkKTpob3ZlciAmLFxuICAgICAgICAjeyRyb290fV9fYWN0aW9uOm5vdCgjeyRyb290fV9fYWN0aW9uLS1kaXNhYmxlZCk6Zm9jdXMgJixcbiAgICAgICAgI3skcm9vdH1fX2FjdGlvbjpub3QoI3skcm9vdH1fX2FjdGlvbi0tZGlzYWJsZWQpOmFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRwYWdpbmF0aW9uLWFjdGlvbi0taG92ZXJfaWNvbi1maWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbGJhci9taXhpbnMuc2Nzcyc7XG5cbiR2aWV3bW9kZS1zd2l0Y2hlcl9kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiR2aWV3bW9kZS1zd2l0Y2hlcl9jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kdmlld21vZGUtc3dpdGNoZXJfbGFiZWwtcGFkZGluZzogMCAxcmVtIDAgMCAhZGVmYXVsdDtcblxuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi14LWF4aXMtcGFkZGluZzogMC43ZW0gIWRlZmF1bHQ7XG5cbiR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tLWN1cnJlbnQtZmlsbDogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC13aWR0aDogMi41cmVtICFkZWZhdWx0O1xuJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtaGVpZ2h0OiAyLjFyZW0gIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tbGlzdC13aWR0aDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWdyaWQtd2lkdGggIWRlZmF1bHQ7XG4kdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tbGlzdC1oZWlnaHQ6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLWhlaWdodCAhZGVmYXVsdDtcblxuLiN7JG5zfXZpZXdtb2RlLXN3aXRjaGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6ICR2aWV3bW9kZS1zd2l0Y2hlcl9kaXNwbGF5O1xuXG4gICAgQGlmICRzb3J0ZXJfZGlzcGxheSA9PSBmbGV4IHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICR2aWV3bW9kZS1zd2l0Y2hlcl9mbGV4LWFsaWduLWl0ZW1zO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDRweCAwIDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21vZGVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWxpc3QoKTtcbiAgICB9XG5cbiAgICAmX19tb2RlIHtcbiAgICAgICAgbWFyZ2luOiAwIDJweCAwIDA7XG4gICAgfVxuXG4gICAgJl9fbW9kZS1hY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLW51bWJlcigpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIHNldCBoZWlnaHQgZXhwbGljaXRseSBmb3IgSUVcblxuICAgICAgICAjeyRyb290fV9fbW9kZS0tY3VycmVudCAmIHtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbW9kZS1pY29uIHtcbiAgICAgICAgZyB7XG4gICAgICAgICAgICBmaWxsOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZmlsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgd2lkdGg6ICR2aWV3bW9kZS1zd2l0Y2hlcl9hY3Rpb24taWNvbi1ncmlkLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tZ3JpZC1oZWlnaHQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjlyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tbGlzdC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHZpZXdtb2RlLXN3aXRjaGVyX2FjdGlvbi1pY29uLWxpc3QtaGVpZ2h0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi45cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX21vZGUtLWN1cnJlbnQgJiB7XG4gICAgICAgICAgICBnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkdmlld21vZGUtc3dpdGNoZXJfYWN0aW9uLWljb24tLWN1cnJlbnQtZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgI3skcm9vdH1fX21vZGUtbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5jcy1jYXB0Y2hhX19pbWFnZSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b24sIC5jcy1jYXB0Y2hhX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbiAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgIC5jcy1jYXB0Y2hhX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jYXB0Y2hhX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmU1YjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbltkaXNhYmxlZF0gc3Bhbi5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jcy1jYXB0Y2hhX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uY3MtY2FwdGNoYV9fbm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuXG4kY2FwdGNoYV9idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kY2FwdGNoYV9idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfWNhcHRjaGEge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9faW1hZ2UtY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNhcHRjaGFfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjYXB0Y2hhX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY2FwdGNoYV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAuI3skbnN9ZGFzaGJvYXJkICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy12aWRlby1wbGF5ZXIge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTJyZW0pOyB9XG4gIC5jcy12aWRlby1wbGF5ZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtdmlkZW8tcGxheWVyX19tb2RhbCAuY3MtdmlkZW8tcGxheWVyX193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtdmlkZW8tcGxheWVyX19tb2RhbC5fc2hvdyB7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgLmNzLXZpZGVvLXBsYXllcl9fbW9kYWwuX3Nob3cgLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1LjVyZW07IH0gfVxuICAgIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0b3A6IDUwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXZpZGVvLXBsYXllcl9fbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXZpZGVvLXBsYXllcl9fbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiA5OHZ3O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDk0dmggIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICB3aWR0aDogODZ2dzsgfSB9XG4gICAgLmNzLXZpZGVvLXBsYXllcl9fbW9kYWwgLmNzLW1vZGFsX19oZWFkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsIC5jcy1tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0LjVyZW07IH0gfVxuICAgIC5jcy12aWRlby1wbGF5ZXJfX21vZGFsIC5jcy1tb2RhbF9fY2xvc2Uge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtdmlkZW8tcGxheWVyX19tb2RhbCAuY3MtbW9kYWxfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiR2aWRlby1wbGF5ZXJfYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4uI3skbnN9dmlkZW8tcGxheWVyIHtcbiAgICAkcm9vdDogJjtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTJyZW0pO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgI3skcm9vdH1fX21vZGFsICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb2RhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAmLl9zaG93IHtcbiAgICAgICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICYuX3Nob3cge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uLWNsb3NlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNS41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdmlkZW8tcGxheWVyX2JhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk4dnc7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogOTR2aCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODZ2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9bW9kYWxfX2Nsb3NlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfW1vZGFsX19jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FDRUE7QUNGQTs7O0FETUE7QURJQTtBQWdCQTs7QUNoQkE7QURWQTs7QUNhQTtBQ2JBOzs7QURpQkE7QURQQTtBQWdCQTs7QUNMQTtBRWxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFFQTtBQ2RBO0FEZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7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WkE7QUFDQTtBQUdBO0FDMmFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUF5QkE7QUFDQTtBRHRjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBR0E7QUFDQTtBQUdBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBSUE7QUFHQTtBQUVBO0FBQ0E7QUFHQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QVZ4TEE7QUFDQTtBQUNBO0FVeUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFlQTtBQWZBO0FBb0JBO0Fad1VBO0FZbFVBO0FBRUE7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQWZBO0FBbUJBO0FBSUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBWjhSQTtBWWpTQTtBQU1BO0FaMlJBO0FZalNBO0FBVUE7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQTFCQTtBQStCQTtBQUNBO0FBSUE7QUFHQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBSEE7QUFNQTtBQUFBO0FBS0E7QUFFQTtBQUZBO0FBTUE7QUFOQTtBQVNBO0FBU0E7QUFFQTtBQUZBO0FBTUE7QUFDQTtBQUlBO0FBRUE7QUFJQTs7QUFHQTtBQUhBO0FBT0E7QUFQQTtBQVdBO0FBWEE7QUFlQTtBQWZBOztBQXFCQTtBQUVBO0FBdkJBOztBQTRCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBeFlBO0FBOFlBOztBbEJsYkE7O0FvQkVBO0FsQkZBOzs7QWtCTUE7QXBCSUE7QUFnQkE7O0FvQmhCQTtBcEJWQTs7QW9CYUE7QWxCYkE7OztBa0JpQkE7QXBCUEE7QUFnQkE7O0FvQkxBO0FwQnJCQTs7QW9Cd0JBO0FsQnhCQTs7O0FrQjRCQTtBcEJsQkE7QUFnQkE7O0FvQk1BO0FDaENBO0FBU0E7QXJCVEE7O0FvQnFDQTtBbEJyQ0E7OztBa0J5Q0E7QXBCL0JBO0FBZ0JBOztBb0JtQkE7QUU3Q0E7Ozs7QUZrREE7QUdEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQnllQTtBaUJoZ0JBO0FBeUJBO0FBekJBO0FBOEJBO0FBQ0E7QUEvQkE7QUFtQ0E7QUFuQ0E7QUF1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUNBO0FBZ0RBO0FBQ0E7QUFqREE7QUFxREE7QUFDQTtBQXREQTtBQXlEQTtBQUNBO0FBQ0E7QUFDQTtBQTVEQTtBQWdFQTtBQWhFQTtBQXFFQTtBQUNBO0FBdEVBO0FBMEVBO0FBQ0E7QUFDQTtBQTVFQTtBQWdGQTtBQWhGQTtBQXFGQTtBQXJGQTtBQXdGQTtBQUNBO0FBQ0E7QUFDQTtBQTNGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBQW5HQTtBQXlHQTtBQUNBO0FBQ0E7QUEzR0E7QUFnSEE7QUFoSEE7QUFxSEE7QUFySEE7QUF3SEE7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUM5SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEJtZkE7QWlCclhBO0FDM0hBO0FBQ0E7QUFDQTtBRDRIQTtBQUVBO0FBQ0E7QUFDQTtBQVBBO0FBWUE7QUFHQTtBQ2pIQTtBQUNBO0FEZ0hBO0FDM0VBO0FBQ0E7QUFDQTtBRHlFQTtBQ3RFQTtBRDhFQTtBQzlIQTtBQUNBO0FENkhBO0FDbkZBO0FBQ0E7QUFDQTtBRGlGQTtBQzlFQTtBRHVGQTtBQzVGQTtBQUNBO0FBQ0E7QUQwRkE7QUN2RkE7QWxCNGFBO0FpQnJWQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBTEE7QUFTQTtBQVRBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFvQkE7QUFwQkE7QUF3QkE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBWUE7QUFaQTtBQWlCQTs7QXZCcFJBOztBeUJFQTtBdkJGQTs7O0F1Qk1BO0F6QklBO0FBZ0JBOztBeUJoQkE7QXpCVkE7O0F5QmFBO0F2QmJBOzs7QXVCaUJBO0F6QlBBO0FBZ0JBOztBeUJMQTtBQ3JCQTs7QUR3QkE7QXZCeEJBOzs7QXVCNEJBO0FFTUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBckIwZ0JBO0FxQi9nQkE7QUFRQTtBQUdBO0FEeENBO0FBQ0E7QUFDQTtBQzBDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQUNBO0FBWEE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTNCQTtBQXVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFOQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFqQkE7QUFzQkE7QUF0QkE7QUF5QkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBM0I3SUE7O0E0QkVBO0ExQkZBOzs7QTBCTUE7QTVCSUE7QUFnQkE7O0E0QmhCQTtBNUJWQTs7QTRCYUE7QTFCYkE7OztBMEJpQkE7QTVCUEE7QUFnQkE7O0E0QkxBO0E1QnJCQTs7QTRCd0JBO0ExQnhCQTs7O0EwQjRCQTtBNUJsQkE7QUFnQkE7O0E0Qk1BO0E1QmhDQTs7QTRCbUNBO0ExQm5DQTs7O0EwQnVDQTtBNUI3QkE7QUFnQkE7O0E0QmlCQTtBWjNDQTs7Ozs7Ozs7QVlvREE7QVhwREE7QUFTQTtBU1RBOztBRXlEQTtBQzVDQTtBVjZGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FVakhBO0FWdUxBO0FBQ0E7QVV4TEE7QVYyTEE7QUFDQTtBVTVMQTtBVmlNQTtBQUNBO0FBQ0E7QVVuTUE7QVZ5TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlEQTtBQUNBO0FBQ0E7QVVoUUE7QVZtUUE7QUFDQTtBVXBRQTtBVnlUQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FVclZBO0FWd1ZBO0FBQ0E7QVV6VkE7QVYwWUE7QUFDQTtBQUNBO0FVNVlBO0FWK1lBO0FBQ0E7QVUxWUE7QVZpY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBVS9jQTtBVnFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBVXZoQkE7QVZ3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBV3hIQTtBRG1DQTtBQUNBO0FBQ0E7QUFUQTtBVmtLQTtBQUNBO0FVbktBO0FWc0tBO0FBQ0E7QVV2S0E7QVY0S0E7QUFDQTtBQUNBO0FVOUtBO0FWb0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FVM09BO0FWOE9BO0FBQ0E7QVUvT0E7QVZvU0E7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBVWhVQTtBVm1VQTtBQUNBO0FVcFVBO0FWcVhBO0FBQ0E7QUFDQTtBVXZYQTtBVjBYQTtBQUNBO0Fib0pBO0F1Qi9nQkE7QUNsQkE7QUFLQTtBQUNBO0FEdUJBO0FWdWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QVVyYkE7QVYyZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QVU3ZkE7QUFFQTtBQUZBO0FBS0E7QUFDQTtBQUlBO0FWcUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QVV6REE7QVYrSEE7QUFDQTtBVWhJQTtBVm1JQTtBQUNBO0FVcElBO0FWeUlBO0FBQ0E7QUFDQTtBVTNJQTtBVmlKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNERBO0FBQ0E7QUFDQTtBVW5OQTtBVnNOQTtBQUNBO0FVdk5BO0FWaVFBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QVV4U0E7QVYyU0E7QUFDQTtBVTVTQTtBVmtWQTtBQUNBO0FBQ0E7QVVwVkE7QVZ1VkE7QUFDQTtBQUNBO0FVelZBO0FWcUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QVV6Q0E7QUFDQTtBQWpCQTtBVitIQTtBQUNBO0FVaElBO0FWbUlBO0FBQ0E7QVVwSUE7QVZ5SUE7QUFDQTtBQUNBO0FVM0lBO0FWaUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FVeE1BO0FWMk1BO0FBQ0E7QVU1TUE7QVZpUUE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBVTdSQTtBVmdTQTtBQUNBO0FValNBO0FWa1ZBO0FBQ0E7QUFDQTtBVXBWQTtBVnVWQTtBQUNBO0FBQ0E7QVV0VUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBSDlIQTtBQUNBO0FBQ0E7QXBCMGlCQTtBdUI5YUE7QUFJQTtBQUNBO0FBQ0E7QXZCd2FBO0F1QjlhQTtBQVVBO0FBQ0E7QXZCbWFBO0F1QjlhQTtBQW1CQTtBQUtBO0FBQ0E7QXZCcVpBO0F1QnRaQTtBQUlBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0F2QitYQTtBdUI3WUE7QUFrQkE7QUFDQTtBQUNBO0F2QnlYQTtBdUI3WUE7QUF5QkE7QUFDQTtBQUNBO0FBQ0E7O0E3QmhNQTs7QStCRUE7QTdCRkE7OztBNkJNQTtBL0JJQTtBQWdCQTs7QStCaEJBO0EvQlZBOztBK0JhQTtBN0JiQTs7O0E2QmlCQTtBL0JQQTtBQWdCQTs7QStCTEE7QS9CckJBOztBK0J3QkE7QTdCeEJBOzs7QTZCNEJBO0EvQmxCQTtBQWdCQTs7QStCTUE7QXZCOUJBOztBdUJpQ0E7QXZCN0JBOzs7QXVCaUNBO0F2QnhCQTs7O0F1QjRCQTtBdkJsQkE7O0F1QnFCQTtBdEI5Q0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFaQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuQkE7QUFzQkE7QUFDQTtBQXZCQTtBQTRCQTtBQUNBO0FBQ0E7QUE5QkE7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwQ0E7QUF3Q0E7QUFDQTtBQXpDQTtBQTZDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBakRBO0FBb0RBO0FBQ0E7QUMvQ0E7QUZLQTtBQUNBO0FFRkE7QUFDQTtBQUNBO0FBRUE7QUZlQTtBQUNBO0FBQ0E7QUVmQTtBQUZBO0FBTUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUpxaEJBO0FJeGhCQTtBQU1BO0FBTkE7QUFVQTtBQUtBO0FBQ0E7QUp3Z0JBO0FJemdCQTtBQUlBO0FKcWdCQTtBSXpnQkE7QUFRQTtBSmlnQkE7QUl6Z0JBO0FBWUE7QUFJQTtBQUNBO0FBQ0E7QUp1ZkE7QUl6ZkE7QUFLQTtBSm9mQTtBSXpmQTtBQVNBO0FKZ2ZBO0FJemZBO0FBYUE7QUo0ZUE7QUl6ZkE7QUFpQkE7QUFDQTtBQUNBO0FKc2VBO0FJaGVBO0FBRUE7QUFDQTtBSjZkQTtBSXpkQTtBQUVBO0FBS0E7QUFrQkE7QUpnY0E7QUlsZEE7QUFJQTtBQUNBO0FBQ0E7QUo0Y0E7QUlsZEE7QUFVQTtBQVZBO0FBY0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FKMmJBO0FJN2JBO0FBS0E7QUFDQTtBQUlBO0FBQ0E7QUprYkE7QUluYkE7QUFJQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUprYUE7QUlwYUE7QUFLQTtBQUNBO0FKOFpBO0FJM1pBOztBQUdBO0FBS0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FKMlhBO0FJeFhBO0FBRUE7QUFJQTtBQUVBO0FBSUE7QUFJQTtBQUNBO0FKdVdBO0FJNVdBO0FBUUE7QUFDQTtBQUNBO0FKa1dBO0FJL1ZBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FKbVZBO0FJaFZBO0FBRUE7QUFJQTtBQUVBO0FBQ0E7QUFIQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFuRkE7QUFxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSm1TQTtBSTlTQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FKNlJBO0FJOVNBO0FBc0JBO0FBQ0E7QUp1UkE7QUk5U0E7QUEwQkE7QUFDQTtBQTNCQTtBQThCQTtBQUNBO0FBL0JBO0FBa0NBO0FKNFFBO0FJOVNBO0FBcUNBO0FBckNBO0FBMENBO0FBQ0E7QUptUUE7QUk5U0E7QUFnREE7QUFDQTtBQUNBO0FBbERBO0FBcURBO0FKeVBBO0FJOVNBO0FBdURBO0FKdVBBO0FJOVNBO0FBNERBO0FBQ0E7QUE3REE7QUFxRUE7QUFDQTtBQXRFQTtBQTBFQTtBQUNBO0FKbU9BO0FJOVNBO0FBK0VBO0FKK05BO0FJOVNBO0FBbUZBO0FBQ0E7QUFwRkE7QUF3RkE7QUFDQTtBSnFOQTtBSTlTQTtBQTRGQTtBQTVGQTtBQWlHQTtBSjZNQTtBSTlTQTs7QUF1R0E7QUF2R0E7QUE0R0E7QUFDQTtBQUNBO0FBQ0E7QUEvR0E7QUFrSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzSEE7QUFpSUE7QUFqSUE7QUF1SUE7QUFDQTtBQXhJQTtBQThJQTtBQUNBO0FBQ0E7QUFDQTtBSjZKQTtBSTlTQTtBQXNKQTtBQUNBO0FBQ0E7QUpzSkE7QUloSkE7OztBQUtBO0FBQ0E7QUowSUE7QUloSkE7OztBQVNBO0FBQ0E7QUFWQTs7O0FBZUE7QUppSUE7QUloSkE7OztBQWtCQTtBQUNBO0FBbkJBOzs7QUF5QkE7QUp1SEE7QUloSkE7OztBQTRCQTtBSm9IQTtBSWhKQTs7O0FBZ0NBO0FBQ0E7QUFJQTs7O0FBSUE7O0FWMWNBOztBZ0NFQTtBOUJGQTs7O0E4Qk1BO0FoQ0lBO0FBZ0JBOztBZ0NoQkE7QWhDVkE7O0FnQ2FBO0E5QmJBOzs7QThCaUJBO0FoQ1BBO0FBZ0JBOztBZ0NMQTtBaEJyQkE7Ozs7Ozs7O0FnQjhCQTtBZjlCQTtBQVNBO0FnQlNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0I2ZkE7QTJCbmdCQTtBQVNBO0FBSUE7QUFDQTtBM0JxZkE7QTJCdGZBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFGQTs7QUFNQTtBQUNBO0FBUEE7QW5CdkRBO0FtQnVEQTtBbkJwREE7QW1Cb0RBO0FuQmhEQTtBbUJnREE7QW5CM0NBO0FtQjZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0JzZEE7QTJCNWRBO0FBU0E7QUFDQTtBQUlBO0FkT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBY3JCQTtBQUNBO0FBUEE7QWRpR0E7QUFDQTtBY2xHQTtBZHFHQTtBQUNBO0FjdEdBO0FkMkdBO0FBQ0E7QUFDQTtBYzdHQTtBZG1IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBYzFLQTtBZDZLQTtBQUNBO0FjOUtBO0FkbU9BO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QWMvUEE7QWRrUUE7QUFDQTtBY25RQTtBZG9UQTtBQUNBO0FBQ0E7QWN0VEE7QWR5VEE7QUFDQTtBYm9KQTtBMkI5Y0E7QUFVQTtBQUNBO0FBSUE7QWRrV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBY2hYQTtBZHNhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTs7QW5CeGpCQTs7QWtDRUE7QWhDRkE7OztBZ0NNQTtBbENJQTtBQWdCQTs7QWtDaEJBO0FsQ1ZBOztBa0NhQTtBaENiQTs7O0FnQ2lCQTtBbENQQTtBQWdCQTs7QWtDTEE7QTVCNGhCQTtBNkI3aUJBO0FBRUE7QUFDQTtBN0IwaUJBO0E2QnZpQkE7QUFFQTs7QW5DWkE7O0FvQ0VBO0FsQ0ZBOzs7QWtDTUE7QXBDSUE7QUFnQkE7O0FvQ2hCQTtBcENWQTs7QW9DYUE7QWxDYkE7OztBa0NpQkE7QXBDUEE7QUFnQkE7O0FvQ0xBO0FWckJBOztBVXdCQTtBcEN4QkE7O0FvQzJCQTtBbEMzQkE7OztBa0MrQkE7QXBDckJBO0FBZ0JBOztBb0NTQTtBQ25DQTtBQU1BO0FDNkNBO0FBR0E7QUFDQTtBQUNBO0FoQ3lmQTtBZ0M5ZkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QWhDNGVBO0FnQzlmQTtBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQTFCQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQzBkQTtBZ0N0ZEE7QUFHQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEN3Y0E7QWdDdGNBO0FBRUE7QWhDb2NBO0FnQzlmQTtBQWtFQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3RGQTtBRGlGQTtBQzdFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBaUJBO0FBQUE7QUQwQ0E7QUNmQTtBQUNBO0FEY0E7QUNDQTtBQUNBO0FERkE7QUNrREE7QURsREE7QUM4REE7QWpDMFhBO0FnQ3hiQTtBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbkhBO0FEaUZBO0FDN0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFpQkE7QUFBQTtBRDBDQTtBQ2ZBO0FBQ0E7QURjQTtBQ0NBO0FBQ0E7QURGQTtBQ2tEQTtBRGxEQTtBQzhEQTtBRDlEQTtBQTREQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhDdVhBO0FnQ3hiQTtBQW9FQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBSUE7QVpuTUE7QUFDQTtBQUNBO0FZbU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEMrVkE7QWdDeldBO0FBYUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QWhDMlVBO0FnQ25WQTtBQVlBO0FBQ0E7QWhDc1VBO0FnQ25WQTtBQWlCQTtBQUNBOztBdENoUEE7O0F3Q0VBO0F0Q0ZBOzs7QXNDTUE7QXhDSUE7QUFnQkE7O0F3Q2hCQTtBeENWQTs7QXdDYUE7QXRDYkE7OztBc0NpQkE7QXhDUEE7QUFnQkE7O0F3Q0xBO0F4QnJCQTs7Ozs7Ozs7QXdCOEJBO0F2QjlCQTtBQVNBO0F3QlRBO0FBZ0RBO0FDcUJBO0FDbEVBO0FBR0E7O0FEa0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3JHQTs7QUR1SUE7QUNuSUE7O0FEK0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2pIQTs7QUR3SEE7QUFDQTtBQ3BIQTs7O0FEaUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM5SUE7Ozs7O0FEbUpBO0FBQ0E7QUNwSkE7QUR5SkE7QUFDQTtBQzFKQTtBRHlKQTtBQUNBO0FDMUpBO0FEeUpBO0FBQ0E7QUMxSkE7QUR5SkE7QUFDQTtBQzFKQTs7O0FEeUpBO0FBQ0E7QUMxSkE7OztBRDhKQTtBQzlKQTs7Ozs7QUR1S0E7QUM5SkE7O0FENk1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDaE9BOzs7QURxT0E7QUFDQTtBQ3RPQTs7QUQwT0E7QUMxT0E7OztBRGdQQTtBQUNBO0FBQ0E7QUFHQTs7O0FBQ0E7QUN0UEE7O0FENFBBO0FDNVBBOztBRGdRQTtBQUNBO0FBQ0E7QUFJQTs7QUFDQTtBQUNBO0FDcFFBOztBRCtRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNsU0E7O0FEdVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUNqVEE7OztBRHNUQTtBQUNBO0FDdlRBOzs7QUQ2VEE7QUFDQTtBQUNBO0FDL1RBOztBRG9VQTtBQ3BVQTs7QUR1VUE7QUN2VUE7Ozs7QUQ2VUE7QUFDQTtBQUNBO0FBQ0E7QUNoVkE7Ozs7OztBRHVWQTtBQzdVQTs7QURxUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0VBO0FBQ0E7QUFDQTtBQzVWQTs7QUQ2UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQ3ZTQTs7O0FENFNBO0FBQ0E7QUM3U0E7OztBRG1UQTtBQUNBO0FBQ0E7QUNyVEE7O0FEMFRBO0FDMVRBOztBRDZUQTtBQzdUQTs7OztBRG1VQTtBQUNBO0FBQ0E7QUFDQTtBQ3RVQTs7Ozs7O0FENlVBO0FDN1VBOztBRGdXQTtBQUNBO0FBQ0E7QUNsV0E7O0FEc1dBO0FDdFdBOztBRDBXQTtBQUNBO0FBQ0E7QUM1V0E7O0FEK1dBO0FDL1dBOzs7QURvWEE7QUFDQTtBQUNBO0FDdFhBOzs7QURnSkE7QUNsSUE7O0FEeUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzFJQTs7QURvSkE7QUFDQTtBQUNBO0FBQ0E7QUNuSkE7O0FEZ0pBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQ3ZKQTtBRCtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2Q0E7QUFJQTtBQUNBO0FBTEE7QUFVQTtBQVZBO0FENEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FDdEhBO0FBZEE7QUR5RUE7QUN6RUE7QUQrRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzVGQTtBRGlHQTtBQUNBO0FDbEdBO0FEdUdBO0FBQ0E7QUN4R0E7QUR1R0E7QUFDQTtBQ3hHQTtBRHVHQTtBQUNBO0FDeEdBO0FEdUdBO0FBQ0E7QUN4R0E7QUR1R0E7QUFDQTtBQ3hHQTtBRDRHQTtBQzVHQTtBRHFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMxREE7QURpRUE7QUFDQTtBQ2xFQTtBQTJDQTtBQTNDQTtBRCtFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDNUZBO0FEaUdBO0FBQ0E7QUNsR0E7QUR1R0E7QUFDQTtBQ3hHQTtBRHVHQTtBQUNBO0FDeEdBO0FEdUdBO0FBQ0E7QUN4R0E7QUR1R0E7QUFDQTtBQ3hHQTtBRHVHQTtBQUNBO0FDeEdBO0FENEdBO0FDNUdBO0FEcUhBO0FDckhBO0FBeURBO0FBekRBO0FEb0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkxBO0FENExBO0FBQ0E7QUM3TEE7QURpTUE7QUNqTUE7QUR1TUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQzdNQTtBRG1OQTtBQ25OQTtBRHVOQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUMvTkE7QUQwT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0VBO0FBQ0E7QUFDQTtBQ2pVQTtBRGtRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FDNVFBO0FEaVJBO0FBQ0E7QUNsUkE7QUR3UkE7QUFDQTtBQUNBO0FDMVJBO0FEK1JBO0FDL1JBO0FEa1NBO0FDbFNBO0FEd1NBO0FBQ0E7QUFDQTtBQUNBO0FDM1NBOzs7QURrVEE7QUNsVEE7QURxVUE7QUFDQTtBQUNBO0FDdlVBO0FEMlVBO0FDM1VBO0FEK1VBO0FBQ0E7QUFDQTtBQ2pWQTtBRG9WQTtBQ3BWQTtBRHlWQTtBQUNBO0FBQ0E7QUMzVkE7QURxSEE7QUNySEE7QUQwT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDN1BBO0FEa1FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUM1UUE7QURpUkE7QUFDQTtBQ2xSQTtBRHdSQTtBQUNBO0FBQ0E7QUMxUkE7QUQrUkE7QUMvUkE7QURrU0E7QUNsU0E7QUR3U0E7QUFDQTtBQUNBO0FBQ0E7QUMzU0E7OztBRGtUQTtBQ2xUQTtBQXNGQTtBQUNBO0FBQ0E7QUFDQTtBQXpGQTtBQTRGQTtBQUNBO0FBQ0E7QUFDQTtBQS9GQTtBQW1HQTtBQW5HQTtBQXVHQTtBQXZHQTtBRG9LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3ZMQTtBRDRMQTtBQUNBO0FDN0xBO0FEaU1BO0FDak1BO0FEdU1BO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUM3TUE7QURtTkE7QUNuTkE7QUR1TkE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FDL05BOzs7QURxSEE7QUNySEE7QUEwSEE7QUFDQTtBQTNIQTtBQStIQTtBQS9IQTs7QUFtSUE7QUFuSUE7QUF1SUE7QUFDQTtBQUNBO0FERUE7QUFDQTtBQUNBO0FBQ0E7QUM5SUE7QUErSUE7QUEvSUE7QUQySUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ1VBOztBRGRBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQ01BOztBQUdBO0FBSEE7O0FBTUE7QUFOQTs7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFDQTtBQUdBOztBQzlRQTs7O0FDR0E7QTdDSEE7O0E2Q01BO0EzQ05BOzs7QTJDVUE7QTdDQUE7QUFnQkE7O0E2Q1pBO0E3Q2RBOztBNkNpQkE7QTNDakJBOzs7QTJDcUJBO0E3Q1hBO0FBZ0JBOztBNkNEQTtBQ3pCQTs7Ozs7Ozs7O0FEbUNBO0E3Q25DQTs7QTZDc0NBO0EzQ3RDQTs7O0EyQzBDQTtBN0NoQ0E7QUFnQkE7O0E2Q29CQTtBUjlDQTtBQU1BO0FyQ05BOztBNkNtREE7QTNDbkRBOzs7QTJDdURBO0E3QzdDQTtBQWdCQTs7QTZDaUNBO0FFM0RBO0FBWUE7QS9DWkE7O0E2Q2dFQTtBM0NoRUE7OztBMkNvRUE7QTdDMURBO0FBZ0JBOztBNkM4Q0E7QUR2Q0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0QzBnQkE7QXNDaGhCQTtBQVNBO0FBVEE7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW5CQTtBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0Q2tmQTtBc0NoaEJBO0FBb0NBO0F0QzRlQTtBc0NoaEJBO0FBeUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBdENnZUE7QXNDbmVBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QXRDMGRBO0FzQ25lQTtBQWFBO0F0Q3NkQTtBc0NuZUE7QUFpQkE7QXRDa2RBO0FzQzljQTtBQUVBO0FBR0E7QUFPQTtBdENrY0E7QXNDemNBO0FBR0E7QXRDc2NBO0FzQ3pjQTtBQVVBO0F0QytiQTtBc0N6Y0E7QUFjQTtBQUNBO0F0QzBiQTtBc0N0YkE7QUFFQTtBQUNBO0FBQ0E7QXRDa2JBO0FzQ3RiQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQWVBO0FBQ0E7QUFDQTtBdENxYUE7QXNDaGFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0Q3laQTtBc0NoYUE7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRDZ1pBO0FzQ2hhQTtBQW1CQTtBdEM2WUE7QXNDeFlBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRDb1hBO0FzQ25ZQTtBQWtCQTtBQUNBO0FBQ0E7QXRDK1dBO0FzQ25ZQTtBQTBCQTtBQTFCQTtBQStCQTtBQS9CQTtBQWtDQTtBQWxDQTtBQXFDQTtBdEM4VkE7QXNDbllBO0FBd0NBO0F0QzJWQTtBc0NuWUE7QUE4Q0E7QUFDQTtBdENvVkE7QXNDaFZBO0FBRUE7QXRDOFVBO0FzQzFVQTtBQUVBO0FBQ0E7QUFLQTs7QXhDM09BO0E0Q21CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FKeU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRDbVRBO0FzQ2xVQTs7QUFrQkE7QUFFQTs7Ozs7QUFFQTtBTDdOQTtBSzJOQTs7Ozs7Ozs7O0FMdk5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbUJBO0FBVUE7QUFBQTtBS29MQTs7Ozs7Ozs7O0FMZkE7QUFDQTtBS2NBOzs7OztBTFZBO0FLVUE7Ozs7O0FMTEE7QUFDQTtBS0lBOzs7OztBTEFBO0FLU0E7O0FFaFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0F4QzZoQkE7QXNDbFVBOztBQW1DQTtBQUNBO0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdENvUkE7QXNDbFJBOzs7OztBQUVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzUUE7QUErUUE7QUFDQTtBQUNBO0F0QytQQTtBc0NoaEJBO0FBb1JBO0FBQ0E7QUFDQTtBdEMwUEE7QXNDaGhCQTtBQTBSQTtBQUNBO0FBQ0E7QXRDb1BBO0FzQ2hoQkE7QUFnU0E7QUFDQTtBQWpTQTtBQXFTQTtBQXJTQTtBQXlTQTtBQUNBO0FBQ0E7QUFDQTtBQTVTQTtBQThTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuVEE7QUF5VEE7QUF6VEE7QUErVEE7QUFDQTtBQWhVQTtBQXNVQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBSkE7QUFRQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7O0E1QzlhQTs7QWlERUE7QS9DRkE7OztBK0NNQTtBakRJQTtBQWdCQTs7QWlEaEJBO0FqRFZBOztBaURhQTtBL0NiQTs7O0ErQ2lCQTtBakRQQTtBQWdCQTs7QWlETEE7QXZCckJBOztBdUJ3QkE7QUNWQTtBeEJUQTtBQUNBO0FBQ0E7QXdCWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1Q3loQkE7QTRDOWhCQTtBQVFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUM4Z0JBO0E0Q2xoQkE7QUFPQTtBQUNBO0FBQ0E7QUExQkE7O0FBZ0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDK2ZBO0E0Q25pQkE7O0FBdUNBO0FBdkNBOztBQTJDQTtBQUNBO0E1Q3VmQTtBNENuaUJBOztBQWdEQTtBQUNBOztBQy9EQTs7O0FDR0E7QXBESEE7O0FvRE1BO0FsRE5BOzs7QWtEVUE7QXBEQUE7QUFnQkE7O0FvRFpBO0FwRGRBOztBb0RpQkE7QWxEakJBOzs7QWtEcUJBO0FwRFhBO0FBZ0JBOztBb0REQTtBcER6QkE7O0FvRDRCQTtBbEQ1QkE7OztBa0RnQ0E7QXBEdEJBO0FBZ0JBOztBb0RVQTtBQ3BDQTs7Ozs7Ozs7OztBRCtDQTtBRS9DQTs7Ozs7Ozs7Ozs7O0FGNERBO0FsRDVEQTs7O0FrRGdFQTtBcENoRUE7Ozs7Ozs7O0FvQ3lFQTtBbkN6RUE7QUFTQTtBa0NpR0E7QUFHQTtBQUVBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FHckdBO0FBQ0E7QUFDQTtBSDJHQTtBQUNBO0FFcEVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUZpRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSTFLQTtBQUlBO0FKa0tBO0FJaktBO0FBVUE7QUp1SkE7QUl0SkE7QUpnS0E7QUFDQTtBSWpMQTtBQUlBO0FKNEtBO0FJM0tBO0FBVUE7QUppS0E7QUloS0E7QUp3S0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSWxNQTtBQUlBO0FKeUxBO0FJeExBO0FBVUE7QUo4S0E7QUk3S0E7QUp3TEE7QUFDQTtBSXpNQTtBQUlBO0FKb01BO0FJbk1BO0FBVUE7QUp5TEE7QUl4TEE7QUpnTUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUl6TkE7QUFJQTtBSmlOQTtBSWhOQTtBQVVBO0FKc01BO0FJck1BO0FKK01BO0FBQ0E7QUloT0E7QUFJQTtBSjJOQTtBSTFOQTtBQVVBO0FKZ05BO0FJL01BO0FKdU5BO0FBQ0E7QUFLQTtBaEMxSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBZ0NzSUE7QWhDaEVBO0FBQ0E7QWdDK0RBO0FoQzVEQTtBQUNBO0FnQzJEQTtBaEN0REE7QUFDQTtBQUNBO0FnQ29EQTtBaEM5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlEQTtBQUNBO0FBQ0E7QWdDVEE7QWhDWUE7QUFDQTtBZ0NiQTtBaENrRUE7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBZ0M5RkE7QWhDaUdBO0FBQ0E7QWdDbEdBO0FoQ21KQTtBQUNBO0FBQ0E7QWdDckpBO0FoQ3dKQTtBQUNBO0FnQ25KQTtBaEMwTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBZ0N4TkE7QWhDOFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FnQzdSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FFOVFBO0FGMFFBO0FFdlFBO0FBQ0E7QUFDQTtBQUNBO0FGb1FBO0FFaFFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QS9DZ2hCQTtBNkN0UkE7QUFjQTtBQUdBO0FBQ0E7QTdDb1FBO0E2Q3RSQTtBQWNBO0FBR0E7QUFDQTtBN0NvUUE7QTZDdFJBO0FBY0E7QUFHQTtBQUNBO0E3Q29RQTtBNkN0UkE7QUFjQTtBQUdBO0FBQ0E7QTdDb1FBO0E2Q3RSQTtBQWNBO0FBR0E7QUFDQTtBN0NvUUE7QTZDdFJBO0FBY0E7QUFHQTtBQUNBO0E3Q29RQTtBNkN0UkE7QUFjQTtBQUdBO0FBQ0E7QUFNQTtBRTdPQTtBL0MyZUE7QTZDOVBBO0FBU0E7QUFNQTtBQUVBO0FBRkE7QUU1UEE7QS9DMmVBO0E2Qy9PQTtBQWVBO0FBTUE7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0E3Q2lOQTtBNkNsTkE7QUFLQTtBQUlBO0FBQ0E7QTdDd01BO0E2Q25NQTtBQU1BO0FBTkE7QUFVQTtBN0N5TEE7QTZDbk1BO0FBTUE7QUFOQTtBQVVBO0E3Q3lMQTtBNkNuTUE7QUFNQTtBQU5BO0FBVUE7QTdDeUxBO0E2Q25NQTtBQU1BO0FBTkE7QUFVQTtBN0N5TEE7QTZDbk1BO0FBTUE7QUFOQTtBQVVBO0E3Q3lMQTtBNkNuTUE7QUFNQTtBQU5BO0FBVUE7QTdDeUxBO0E2Q25NQTtBQU1BO0FBTkE7QUFVQTtBQStCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3NKQTtBNkN6SkE7QUFNQTtBN0NtSkE7QTZDekpBO0FBV0E7QTdDOElBO0E2Q3pKQTtBQVdBO0E3QzhJQTtBNkN6SkE7QUFXQTtBN0M4SUE7QTZDekpBO0FBV0E7QTdDOElBO0E2Q3pKQTtBQVdBO0E3QzhJQTtBNkN6SkE7QUFXQTtBN0M4SUE7QTZDekpBO0FBV0E7QTdDOElBO0E2QzFJQTtBQUtBO0E3Q3FJQTtBNkMxSUE7QUFLQTtBN0NxSUE7QTZDMUlBO0FBS0E7QTdDcUlBO0E2QzFJQTtBQUtBO0E3Q3FJQTtBNkMxSUE7QUFLQTtBN0NxSUE7QTZDMUlBO0FBS0E7QTdDcUlBO0E2QzFJQTtBQUtBO0FBcEJBO0FBMEJBO0FBSUE7QUUvWUE7QUYrWUE7QUU1WUE7QUY0WUE7QUV4WUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBL0M2ZkE7QTZDdEdBO0FBQ0E7QUFHQTtBQUNBO0E3Q2lHQTtBNkN0R0E7QUFDQTtBQUdBO0FBQ0E7QTdDaUdBO0E2Q3RHQTtBQUNBO0FBR0E7QUFDQTtBN0NpR0E7QTZDdEdBO0FBQ0E7QUFHQTtBQUNBO0E3Q2lHQTtBNkN0R0E7QUFDQTtBQUdBO0FBQ0E7QTdDaUdBO0E2Q3RHQTtBQUNBO0FBR0E7QUFDQTtBN0NpR0E7QTZDdEdBO0FBQ0E7QUFHQTtBQUNBO0E3Q2lHQTtBNkMzRkE7QUFNQTtBN0NxRkE7QTZDM0ZBO0FBTUE7QTdDcUZBO0E2QzNGQTtBQU1BO0FBTkE7QUFjQTtBN0M2RUE7QTZDM0ZBO0FBTUE7QUFOQTtBQWNBO0E3QzZFQTtBNkMzRkE7QUFNQTtBQU5BO0FBY0E7QTdDNkVBO0E2QzNGQTtBQU1BO0FBTkE7QUFjQTtBN0M2RUE7QTZDM0ZBO0FBTUE7QUFOQTtBQWNBO0FBUUE7QUVoYUE7QUZvYUE7QUVwYUE7QUYwV0E7QUFrRUE7QUFDQTtBN0N3REE7QTZDckRBO0FBR0E7QUFLQTtBQUNBO0E3QzRDQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBN0NxQkE7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QTdDcUJBO0E2Q3hDQTtBQVFBO0FBUkE7QUFZQTtBQVpBO0FBbUJBO0E3Q3FCQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBQW5CQTtBQTJCQTtBN0NhQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBQW5CQTtBQTJCQTtBN0NhQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBQW5CQTtBQTJCQTtBN0NhQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBQW5CQTtBQTJCQTs7QW5EcGlCQTs7QXdERUE7QXRERkE7OztBc0RNQTtBeERJQTtBQWdCQTs7QXdEaEJBO0F4RFZBOztBd0RhQTtBdERiQTs7O0FzRGlCQTtBeERQQTtBQWdCQTs7QXdETEE7QXhEckJBOztBd0R3QkE7QXREeEJBOzs7QXNENEJBO0F4RGxCQTtBQWdCQTs7QXdETUE7QXhEaENBOztBd0RtQ0E7QXREbkNBOzs7QXNEdUNBO0F4RDdCQTtBQWdCQTs7QXdEaUJBO0F4RDNDQTs7QXdEOENBO0F0RDlDQTs7O0FzRGtEQTtBeER4Q0E7QUFnQkE7O0F3RDRCQTtBeER0REE7O0F3RHlEQTtBdER6REE7OztBc0Q2REE7QXhEbkRBO0FBZ0JBOztBd0R1Q0E7QXhEakVBOztBd0RvRUE7QXREcEVBOzs7QXNEd0VBO0F4RDlEQTtBQWdCQTs7QXdEa0RBO0FDNUVBO0FBU0E7QUNKQTtBQ2NBO0FBQ0E7QUFDQTtBQUNBO0FEZEE7QUFDQTtBNUJIQTtBeEIyaUJBO0FvRDVpQkE7QTVCV0E7QUFLQTtBQUNBO0E0QlRBO0FDc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEdWdCQTtBb0RwaUJBO0FD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QTs7Ozs7O0EvRGlMQTtBQUNBO0ErRGxMQTs7Ozs7O0EvRHVMQTtBQUNBO0FBQ0E7QStEekxBOzs7Ozs7Ozs7OztBL0QrTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTREQTtBQUNBO0FBQ0E7QStEalFBOzs7Ozs7Ozs7OztBL0RvUUE7QUFDQTtBK0RyUUE7Ozs7Ozs7Ozs7Ozs7Ozs7QS9EK1NBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QStEdFZBOzs7Ozs7Ozs7Ozs7Ozs7O0EvRHlWQTtBQUNBO0ErRDFWQTs7Ozs7O0EvRGdZQTtBQUNBO0FBQ0E7QStEbFlBOzs7Ozs7QS9EcVlBO0FBQ0E7QWJvSkE7QTRFMWhCQTs7Ozs7O0FBOEZBO0FBQ0E7QUEvRkE7Ozs7OztBL0Q2YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStEelZBOzs7Ozs7QS9EdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QStEUUE7QUFMQTs7Ozs7O0EvRG1FQTtBQUNBO0ErRHBFQTs7Ozs7O0EvRHVFQTtBQUNBO0ErRHhFQTs7Ozs7O0EvRDZFQTtBQUNBO0FBQ0E7QStEL0VBOzs7Ozs7Ozs7OztBL0RxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTREQTtBQUNBO0FBQ0E7QStEdkpBOzs7Ozs7Ozs7OztBL0QwSkE7QUFDQTtBK0QzSkE7Ozs7Ozs7Ozs7Ozs7Ozs7QS9EcU1BO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QStENU9BOzs7Ozs7Ozs7Ozs7Ozs7O0EvRCtPQTtBQUNBO0ErRGhQQTs7Ozs7O0EvRHNSQTtBQUNBO0FBQ0E7QStEeFJBOzs7Ozs7QS9EMlJBO0FBQ0E7QStENVJBOzs7Ozs7QS9EbVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErRG5jQTs7O0EvRG1GQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FB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QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUVzZ0JBO0E4RTNnQkE7QUFRQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlFeWZBO0E4RTlmQTtBQVFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUU0ZUE7QThFamZBO0FBUUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FqRTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FpRTlDQTtBakVvSEE7QUFDQTtBaUVySEE7QWpFd0hBO0FBQ0E7QWlFekhBO0FqRThIQTtBQUNBO0FBQ0E7QWlFaElBO0FqRXNJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBaUU3TEE7QWpFZ01BO0FBQ0E7QWlFak1BO0FqRXNQQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FpRWxSQTtBakVxUkE7QUFDQTtBaUV0UkE7QWpFdVVBO0FBQ0E7QUFDQTtBaUV6VUE7QWpFNFVBO0FBQ0E7QUFDQTtBaUV2VUE7QWpFNlhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBaUU1WUE7QWpFaWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFlQTtBQUNBOztBbkJ4akJBOztBcUZFQTtBbkZGQTs7O0FtRk1BO0FyRklBO0FBZ0JBOztBcUZoQkE7QWhDVkE7Ozs7Ozs7Ozs7QWdDcUJBO0FyRnJCQTs7QXFGd0JBO0FuRnhCQTs7O0FtRjRCQTtBckZsQkE7QUFnQkE7O0FxRk1BO0FDUkE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7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S0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWNBO0FBbUNBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFjQTtBQW1DQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWNBO0FBbUNBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFjQTtBQW1DQTtBQUNBO0FBWUE7QTdGMllBO0E0RjdpQkE7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWNBO0FBbUNBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFjQTtBQW1DQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWNBO0FBbUNBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFjQTtBQW1DQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWNBO0FBbUNBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFjQTtBQW1DQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBY0E7QUFtQ0E7QUFDQTtBQVlBO0FBQ0E7QTdGMFlBO0E0RjdpQkE7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBN0YyWUE7QTRGN2lCQTtBQThCQTtBQUNBO0FBL0JBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QURsS0E7QUN1REE7QUE2Q0E7QUFBQTtBQUFBO0FBaURBO0FBQ0E7QUFZQTtBRGxLQTtBQ3VEQTtBQTZDQTtBQUFBO0FBQUE7QUFpREE7QUFDQTtBQVlBO0FEbEtBO0FDdURBO0FBNkNBO0FBQUE7QUFBQTtBQWlEQTtBQUNBO0FBWUE7QUFDQTtBRDFIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FFcERBO0FBQ0E7QUFD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QUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXlGd0dBO0F6RmxDQTtBQUNBO0F5RmlDQTtBekY5QkE7QUFDQTtBeUY2QkE7QXpGeEJBO0FBQ0E7QUFDQTtBeUZzQkE7QXpGaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0F5RnZDQTtBekYwQ0E7QUFDQTtBeUYzQ0E7QXpGZ0dBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QXlGNUhBO0F6RitIQTtBQUNBO0F5RmhJQTtBekZpTEE7QUFDQTtBQUNBO0F5Rm5MQTtBekZzTEE7QUFDQTtBeUZ2TEE7QXpGOE9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F5RnBQQTtBekZ5VEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBeUY3VUE7QXpGakpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXlGNkhBO0F6RnZEQTtBQUNBO0F5RnNEQTtBekZuREE7QUFDQTtBeUZrREE7QXpGN0NBO0FBQ0E7QUFDQTtBeUYyQ0E7QXpGckNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0REE7QUFDQTtBQUNBO0F5RjdCQTtBekZnQ0E7QUFDQTtBeUZqQ0E7QXpGMkVBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QXlGbEhBO0F6RnFIQTtBQUNBO0F5RnRIQTtBekY0SkE7QUFDQTtBQUNBO0F5RjlKQTtBekZpS0E7QUFDQTtBeUZsS0E7QXpGeU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F5Ri9OQTtBekZvU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBeUZ2VEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0F0RzRQQTtBc0c3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QTtBQUVBOztBdklGQTs7QXdJRUE7QXRJRkE7OztBc0lNQTtBeElJQTtBQWdCQTs7QXdJaEJBO0F4SVZBOztBd0lhQTtBdEliQTs7O0FzSWlCQTtBeElQQTtBQWdCQTs7QXdJTEE7QXhJckJBOztBd0l3QkE7QXRJeEJBOzs7QXNJNEJBO0F4SWxCQTtBQWdCQTs7QXdJTUE7QUNoQ0E7Ozs7Ozs7Ozs7QUQyQ0E7QUM3QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUVBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6SXRzQkE7O0F3SStvQkE7QXRJL29CQTs7O0FzSW1wQkE7QXhJem9CQTtBQWdCQTs7QXdJNm5CQTtBeEl2cEJBOztBd0kwcEJBO0F0STFwQkE7OztBc0k4cEJBO0F4SXBwQkE7QUFnQkE7O0F3SXdvQkE7QXhJbHFCQTs7QXdJcXFCQTtBdElycUJBOzs7QXNJeXFCQTtBeEkvcEJBO0FBZ0JBOztBd0ltcEJBO0E5RzdxQkE7O0E4R2dy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QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQTRCQTtBQS9DQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQTRCQTtBQS9DQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBaEozSkE7O0ErSTRYQTtBN0k1WEE7OztBNklnWUE7QS9JdFhBO0FBZ0JBOztBK0kwV0E7QS9JcFlBOztBK0l1WUE7QTdJdllBOzs7QTZJMllBO0EvSWpZQTtBQWdCQTs7QStJcVhBO0EvSS9ZQTs7QStJa1pBO0E3SWxaQTs7O0E2SXNaQTtBL0k1WUE7QUFnQkE7O0ErSWdZQTtBL0kxWkE7O0ErSTZaQTtBN0k3WkE7OztBNklpYUE7QS9JdlpBO0FBZ0JBOztBK0kyWUE7QS9IcmFBOzs7Ozs7OztBK0g4YUE7QTlIOWFBO0FBU0E7QVNUQTs7QXFIbWJBO0FsSHRhQTtBVjZGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FVakhBO0FWdUxBO0FBQ0E7QVV4TEE7QVYyTEE7QUFDQTtBVTVMQTtBVmlNQTtBQUNBO0FBQ0E7QVVuTUE7QVZ5TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlEQTtBQUNBO0FBQ0E7QVVoUUE7QVZtUUE7QUFDQTtBVXBRQTtBVnlUQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FVclZBO0FWd1ZBO0FBQ0E7QVV6VkE7QVYwWUE7QUFDQTtBQUNBO0FVNVlBO0FWK1lBO0FBQ0E7QVUxWUE7QVZpY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBVS9jQTtBVnFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBVXZoQkE7QVZ3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBV3hIQTtBRG1DQTtBQUNBO0FBQ0E7QUFUQTtBVmtLQTtBQUNBO0FVbktBO0FWc0tBO0FBQ0E7QVV2S0E7QVY0S0E7QUFDQTtBQUNBO0FVOUtBO0FWb0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0FVM09BO0FWOE9BO0FBQ0E7QVUvT0E7QVZvU0E7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBVWhVQTtBVm1VQTtBQUNBO0FVcFVBO0FWcVhBO0FBQ0E7QUFDQTtBVXZYQTtBVjBYQTtBQUNBO0Fib0pB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O0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFJQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOzs7QUFNQTtBQUNBO0FBRUE7OztBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTs7O0FBS0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekl0c0JBOztBb0o4ckJBO0FsSjlyQkE7OztBa0prc0JBO0FwSnhyQkE7QUFnQkE7O0FvSjRxQkE7QXBKdHNCQTs7QW9KeXNCQTtBbEp6c0JBOzs7QWtKNnNCQTtBcEpuc0JBO0FBZ0JBOztBb0p1ckJBO0FwSmp0QkE7O0FvSm90QkE7QWxKcHRCQTs7O0FrSnd0QkE7QXBKOXNCQTtBQWdCQTs7QW9Ka3NCQTtBMUg1dEJBOztBMEgrdEJBO0FWL3RCQTtBMUlBQTs7QW9KbXVCQTtBbEpudUJBOzs7QWtKdXVCQTtBcEo3dEJBO0FBZ0JBOztBb0ppdEJBO0FUM3VCQTtBQUdBO0EzSUhBOztBb0pndkJBO0FsSmh2QkE7OztBa0pvdkJBO0FwSjF1QkE7QUFnQkE7O0FvSjh0QkE7QS9IeHZCQTtBQVNBO0FyQlRBOztBb0o2dkJBO0FsSjd2QkE7OztBa0ppd0JBO0FwSnZ2QkE7QUFnQkE7O0FvSjJ1QkE7QXBJcndCQTs7Ozs7Ozs7QW9JOHdCQTtBbkk5d0JBO0FBU0E7QVNUQTs7QTBIbXhCQTtBQy9xQkE7QUFHQTtBdkhqR0E7QXhCMmlCQTtBK0k3Y0E7QXZIcEZBO0FBS0E7QUFDQTtBdUhvRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0ltY0E7QStJdmNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QS9JNmJBO0ErSXZjQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQURBO0FBTUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0EvSStaQTtBK0lqYUE7QUFLQTtBQUNBO0EvSTJaQTtBK0lqYUE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBL0k4WUE7QStJL1lBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QS9Jd1lBO0ErSS9ZQTtBQVdBO0FBQ0E7QUFJQTtBQUNBO0EvSThYQTtBK0kvWEE7QUFJQTtBL0kyWEE7QStJL1hBO0FBUUE7QUFJQTtBQUNBO0EvSWtYQTtBK0luWEE7QUFJQTtBQUlBO0EzSGpNQTtBQUNBO0FBQ0E7QTJIK0xBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO0FBd0JBO0EvSW1WQTtBK0kzV0E7QUE4QkE7QUFNQTtBQUNBO0FBQ0E7QS9JcVVBO0ErSXZVQTtBQUtBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBTUE7QUFDQTtBQUlBO0FBQ0E7QS9Jd1NBO0ErSXJTQTtBQUVBO0FBQ0E7QS9Ja1NBO0ErSS9SQTtBQUVBO0FBQ0E7QUFDQTtBL0kyUkE7QStJL1JBO0FBUUE7QUFJQTtBQUNBO0EvSWtSQTtBK0luUkE7QUFJQTtBL0krUUE7QStJblJBO0FBUUE7QS9JMlFBO0ErSW5SQTtBQVlBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QS9JK1BBO0ErSWxRQTtBQU1BO0EvSTRQQTtBK0lsUUE7QUFVQTtBL0l3UEE7QStJbFFBO0FBY0E7QUFDQTtBQUNBO0EvSWtQQTtBK0lsUUE7QUFvQkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBQWlCQTtBQUNBO0FBbEJBO0FBc0JBO0FBQ0E7QUFDQTtBQXhCQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QS9Jc0xBO0ErSXZMQTtBQUlBO0FBQ0E7QS9Ja0xBO0ErSXZMQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9JMEtBO0ErSXZMQTtBQWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0l1SkE7QStJM0pBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QS9JaUpBO0ErSTNKQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUdBO0FBSEE7O0FBUUE7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBL0lnSEE7QStJeEhBO0FBV0E7QUFLQTtBQUVBO0FBSUE7QTdIamFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTZIb1pBO0EvSStGQTtBK0lsR0E7QTdIOVlBO0FBQ0E7QUFDQTtBNkhpWkE7QTdIclhBO0FBQ0E7QTZIb1hBO0E3SHBWQTtBQUNBO0FBQ0E7QTZIa1ZBO0E3SC9VQTtBNkh3VkE7QTdIN1ZBO0FBQ0E7QUFDQTtBNkgyVkE7QTdIeFZBO0E2SGpDQTtBQThYQTtBQUNBO0FsSXpYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FrSTFCQTtBbElnR0E7QUFDQTtBa0lqR0E7QWxJb0dBO0FBQ0E7QWtJckdBO0FsSTBHQTtBQUNBO0FBQ0E7QWtJNUdBO0FsSWtIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBa0l6S0E7QWxJNEtBO0FBQ0E7QWtJN0tBO0FsSWtPQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FrSTlQQTtBbElpUUE7QUFDQTtBa0lsUUE7QWxJbVRBO0FBQ0E7QUFDQTtBa0lyVEE7QWxJd1RBO0FBQ0E7QWtJelRBO0FsSWdYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0Fid0VBO0ErSTdjQTtBQTRZQTtBL0lpRUE7QStJN2NBO0FBZ1pBO0FBaFpBO0FsSTJiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBYlBBO0ErSTdjQTtBQTRaQTtBL0lpREE7QStJN2NBO0FBZ2FBO0EvSTZDQTtBK0k3Y0E7QUFvYUE7QUFDQTtBQUlBO0FBQ0E7QS9JbUNBO0ErSXBDQTtBQUlBO0FBQ0E7QS9JK0JBO0ErSXBDQTtBQVNBO0FBSUE7QUFDQTs7QXJKM2hCQTs7QXNKRUE7QXBKRkE7OztBb0pNQTtBdEpJQTtBQWdCQTs7QXNKaEJBO0F0SlZBOztBc0phQTtBcEpiQTs7O0FvSmlCQTtBdEpQQTtBQWdCQTs7QXNKTEE7QXRKckJBOztBc0p3QkE7QXBKeEJBOzs7QW9KNEJBO0F0SmxCQTtBQWdCQTs7QXNKTUE7QXRKaENBOztBc0ptQ0E7QXBKbkNBOzs7QW9KdUNBO0F0SjdCQTtBQWdCQTs7QXNKaUJBO0FDZ0NBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2SEE7QUFDQTtBRDJHQTtBQ3ZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FENkZBO0FDekZBO0FBQ0E7QUFHQTtBRHFGQTtBQ2hGQTtBRGdGQTtBQzNFQTtBQUNBO0FBR0E7QUR1RUE7QUNsRUE7QUFDQTtBQUNBO0FEc0ZBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFTQTtBQU1BO0FDMUZBO0FBQ0E7QUR5RkE7QUMzRUE7QUQyRUE7QUNsRUE7QUQwRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QUMvS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRHFLQTtBQ2pLQTtBQUNBO0FEZ0tBO0FDeEpBO0FEd0pBO0FDbkpBO0FBQ0E7QURrSkE7QUMxSUE7QUFDQTtBQUNBO0FBQ0E7QWxKeWZBO0FpSmxYQTtBQThCQTtBQUNBO0FBL0JBO0FBbUNBO0FBbkNBO0FBd0NBO0FBeENBO0FBOENBO0FBOUNBO0FBa0VBO0FBQ0E7QUFDQTtBQXBFQTtBQW1EQTtBQW5EQTtBQXVEQTtBQUNBO0FBeERBO0FBNERBO0FBQ0E7QUE3REE7QUF5RUE7QUF6RUE7QUE0RUE7QUE1RUE7QUFpRkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBdkozUkE7O0F5SkVBO0F2SkZBOzs7QXVKTUE7QXpKSUE7QUFnQkE7O0F5SmhCQTtBekpWQTs7QXlKYUE7QXZKYkE7OztBdUppQkE7QXpKUEE7QUFnQkE7O0F5SkxBO0F6SnJCQTs7QXlKd0JBO0F2SnhCQTs7O0F1SjRCQTtBekpsQkE7QUFnQkE7O0F5Sk1BO0F6SmhDQTs7QXlKbUNBO0F2Sm5DQTs7O0F1SnVDQTtBeko3QkE7QUFnQkE7O0F5SmlCQTtBekozQ0E7O0F5SjhDQTtBdko5Q0E7OztBdUprREE7QXpKeENBO0FBZ0JBOztBeUo0QkE7QWhCdERBOzs7Ozs7Ozs7O0FnQmlFQTtBaEJuREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUVBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBOzs7O0FB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QTtBQzdvQkE7QURvb0JBO0FDcG9CQTtBRDZvQkE7QUM3b0JBO0FEb29CQTtBQ3BvQkE7QUQ2b0JBO0FDN29CQTtBRG9vQkE7QUNwb0JBO0FENm9CQTtBQzdvQkE7QWQ0Q0E7QWFpbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUYwckJBO0FFMXJCQTtBRjByQkE7QUUxckJBO0FGMHJCQTtBRTFyQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUZrc0JBO0FFbHNCQTtBRmtzQkE7QUVsc0JBO0FGa3NCQTtBRWxzQkE7QUYyc0JBO0FBQ0E7QUFDQTtBcEpyS0E7QW9Kd0tBO0FBRUE7QXBKMUtBO0FvSndLQTtBQU9BO0FBUEE7QUFZQTtBcEpwTEE7QW9Kd0tBO0FBa0JBO0FBbEJBO0FBc0JBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSUE7QUFFQTs7QTFKcHdCQTs7QTZKRUE7QTNKRkE7OztBMkpNQTtBN0pJQTtBQWdCQTs7QTZKaEJBO0FwQlZBOzs7Ozs7Ozs7O0FvQnFCQTtBcEJQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpJdHNCQTs7QTZKeW5CQTtBM0p6bkJBOzs7QTJKNm5CQTtBN0pubkJBO0FBZ0JBOztBNkp1bUJBO0E3SmpvQkE7O0E2Sm9vQkE7QTNKcG9CQTs7O0EySndvQkE7QTdKOW5CQTtBQWdCQTs7QTZKa25CQTtBN0o1b0JBOztBNkorb0JBO0EzSi9vQkE7OztBMkptcEJBO0E3SnpvQkE7QUFnQkE7O0E2SjZuQkE7QW5JdnBCQTs7QW1JMHBCQTtBbkIxcEJBO0ExSUFBOztBNko4cEJBO0EzSjlwQkE7OztBMkprcUJBO0E3SnhwQkE7QUFnQkE7O0E2SjRvQkE7QWxCdHFC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SzRCQTtBbEt0REE7O0FrS3lEQTtBaEt6REE7OztBZ0s2REE7QWxLbkRBO0FBZ0JBOztBa0t1Q0E7QWxLakVBOztBa0tvRUE7QWhLcEVBOzs7QWdLd0VBO0FsSzlEQTtBQWdCQTs7QWtLa0RBO0F6QjVFQTs7Ozs7Ozs7OztBeUJ1RkE7QXpCekVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBOzs7Ozs7OztBQVFBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFJQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUVBO0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBR0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekl0c0JBOztBa0syckJBO0FoSzNyQkE7OztBZ0srckJBO0FsS3JyQkE7QUFnQkE7O0FrS3lxQkE7QWxLbnNCQTs7QWtLc3NCQTtBaEt0c0JBOzs7QWdLMHNCQTtBbEtoc0JBO0FBZ0JBOztBa0tvckJBO0FsSzlzQkE7O0FrS2l0QkE7QWhLanRCQTs7O0FnS3F0QkE7QWxLM3NCQTtBQWdCQTs7QWtLK3JCQTtBeEl6dEJBOztBd0k0dEJBO0F4QjV0QkE7QTFJQUE7O0FrS2d1QkE7QWhLaHVCQTs7O0FnS291QkE7QWxLMXRCQTtBQWdCQTs7QWtLOHNCQTtBdkJ4dUJBO0FBR0E7QXdCaUJBO0F0QkhBO0EvR1hBO0ErR2lCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QW5IbENBO0FBQ0E7QUFDQTtBbUhtQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFsQkE7QUFtQkE7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBdklpZEE7QXVJOWNBO0FBSUE7QUFDQTtBQU1BO0FBQ0E7QXZJa2NBO0F1SS9iQTtBQUlBO0FBQ0E7QUFPQTtBQUNBO0FBckVBO0FBNEVBO0FBQ0E7QUFDQTtBQWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QW5IdEtBO0FBQ0E7QUFDQTtBb0gwQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBRG1IQTtBQ2pHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUR5RkE7QUN0RkE7QUR5RkE7QUMvRUE7QURvRkE7QUM3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRHVFQTtBQUNBO0FBRUE7QUFDQTtBdklrWEE7QTZKN2hCQTtBcklKQTtBQUtBO0FBQ0E7QXhCMmhCQTtBdUl2ZkE7QXNCOUJBO0FBSUE7OztBQUlBO0F0QnVJQTtBc0JsSUE7QUFHQTtBQUNBO0E3Sm9nQkE7QTZKcmdCQTtBQUlBO0E3SmlnQkE7QTZKcmdCQTtBQVNBO0FBTUE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFQQTtBQVdBO0FBQ0E7QTdKb2VBO0E2SmhmQTtBQWlCQTtBQUNBO0FBTUE7QUFDQTtBQUVBO0E5RzNFQTtBOEcyRUE7QTlHeEVBO0FBQ0E7QUFDQTtBQUNBO0E4R3FFQTtBOUdqRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBL0NnaEJBO0E2SnhkQTtBQWNBO0FBZEE7QUFpQkE7QUFNQTtBQUNBO0FBR0E7QUF4QkE7QTlHckRBO0E4R3FEQTtBOUdsREE7QThHa0RBO0E5RzlDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0EvQzZmQTtBNko3aEJBO0FBNkdBO0FBN0dBO0FBaUhBO0FBakhBO0FBcUhBO0FBQ0E7QUFJQTs7O0FBR0E7QTdKZ2FBO0E2Sm5hQTs7O0FBTUE7QUFOQTs7O0FBV0E7QTdKd1pBO0E2Sm5hQTs7O0FBY0E7O0FuSzVKQTs7QW9LRUE7QWxLRkE7OztBa0tNQTtBcEtJQTtBQWdCQTs7QW9LaEJBO0FwS1ZBOztBb0thQTtBbEtiQTs7O0FrS2lCQTtBcEtQQTtBQWdCQTs7QW9LTEE7QXBLckJBOztBb0t3QkE7QWxLeEJBOzs7QWtLNEJBO0FwS2xCQTtBQWdCQTs7QW9LTUE7QXBLaENBOztBb0ttQ0E7QWxLbkNBOzs7QWtLdUNBO0FwSzdCQTtBQWdCQTs7QW9LaUJBO0FDeENBO0F2SUdBO0F4QjJpQkE7QStKOWlCQTtBdklhQTtBQUtBO0FBQ0E7QXVJbkJBO0FBS0E7O0FyS1JBOztBc0tFQTtBcEtGQTs7O0FvS01BO0F0S0lBO0FBZ0JBOztBc0toQkE7QTVJVkE7O0E0SWFBO0F0S2JBOztBc0tnQkE7QXBLaEJBOzs7QW9Lb0JBO0F0S1ZBO0FBZ0JBOztBc0tGQTtBQ2hCQTtBN0lIQTtBQUNBO0FBQ0E7QTZJTUE7QUFDQTtBQUNBO0FqS2tpQkE7QWlLcGlCQTtBQU9BO0FBQ0E7QUFSQTtBQVdBO0FBQ0E7QUFaQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpLK2dCQTtBaUtwaUJBO0FBMEJBO0FBQ0E7QUFDQTtBakt3Z0JBO0FpS3BpQkE7QUFrQ0E7QUFDQTtBQUNBO0FBcENBO0FBMENBO0FqSzBmQTtBaUtwaUJBO0FBNENBO0FBQ0E7QUFDQTtBQTlDQTtBQWdEQTtBQUNBO0FBakRBO0FBdURBO0FBQ0E7QUFDQTtBQUNBO0FBMURBO0FBNERBO0FBNURBO0FBK0RBO0FBQ0E7QUFDQTtBQXRFQTtBQTRFQTtBQUNBO0FBQ0E7QUE5RUE7QUFrRkE7QUFDQTtBQUNBO0FqS3FkQTtBaUt6aUJBO0FBdUZBO0FBQ0E7QUFDQTtBQXpGQTtBQTRGQTtBQTVGQTtBQWlHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaktrY0E7QWlLemlCQTtBQTJHQTtBQUNBO0FBQ0E7QWpLNGJBO0FpS3ppQkE7QUFrSEE7QUFDQTtBQW5IQTtBQXdIQTtBQUNBO0FBQ0E7QUFDQTtBaks4YUE7QWlLemlCQTtBQTZIQTtBaks0YUE7QWlLemlCQTtBQWlJQTtBQUNBO0FBQ0E7QUFDQTtBQXBJQTtBQXlJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqSzRaQTtBaUt6aUJBO0FBZ0pBO0FBQ0E7QUFDQTtBakt1WkE7QWlLemlCQTtBQXNKQTtBQUNBO0FBdkpBO0FBMkpBO0FBM0pBO0FBK0pBO0FBL0pBO0FBb0tBO0FBQ0E7QUFDQTtBakttWUE7QWlLemlCQTtBQXlLQTtBQUNBO0FBQ0E7QWpLOFhBO0FpS3ppQkE7QUErS0E7QUEvS0E7QUFvTEE7QWpLcVhBO0FpS3ppQkE7QUF1TEE7QUFDQTtBQXhMQTtBQTRMQTtBQUNBO0FBQ0E7QWpLMldBO0FpS3ppQkE7QUFpTUE7QWpLd1dBO0FpS3ppQkE7QUFzTUE7QUFDQTtBQXZNQTtBQTBNQTtBQUNBO0FBM01BO0FBaU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakttVkE7QWlLemlCQTtBQXdOQTtBQUNBO0FBQ0E7QUFDQTtBaks4VUE7QWlLemlCQTtBQThOQTtBQUNBO0FqSzBVQTtBaUt6aUJBO0FBbU9BO0FBbk9BO0FBcU9BO0FBck9BOztBQTJPQTtBQTNPQTtBQStPQTtBakswVEE7QWlLemlCQTtBQWtQQTtBQWxQQTtBQXNQQTtBQUNBO0FBQ0E7QWpLaVRBO0FpS3ppQkE7QUEyUEE7QUFDQTtBQUNBO0FBN1BBO0FBZ1FBO0FqS3lTQTtBaUt6aUJBO0FBdVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzUUE7QUFpUkE7QUFDQTtBQUNBO0FBQ0E7QWpLcVJBO0FpS3ppQkE7QUFzUkE7QUFDQTtBQUNBO0FqS2lSQTtBaUt6aUJBO0FBMlJBO0FqSzhRQTtBaUt6aUJBO0FBK1JBO0FBQ0E7QUFoU0E7QUF1U0E7QUF2U0E7QUF5U0E7QWpLZ1FBO0FpS3ppQkE7QUE0U0E7QUFDQTtBQTdTQTtBQW9UQTtBQXBUQTtBQXVUQTtBaktrUEE7QWlLN09BO0FBR0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQU1BO0FBQ0E7QWpLOE5BO0FpSy9OQTtBQUlBO0FBSkE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBaktvTkE7QWlLL05BO0FBY0E7O0F2S2hXQTs7QXdLRUE7QXRLRkE7OztBc0tNQTtBeEtJQTtBQWdCQTs7QXdLaEJBO0F4S1ZBOztBd0thQTtBdEtiQTs7O0FzS2lCQTtBeEtQQTtBQWdCQTs7QXdLTEE7QXhLckJBOztBd0t3QkE7QXRLeEJBOzs7QXNLNEJBO0F4S2xCQTtBQWdCQTs7QXdLTUE7QXhLaENBOztBd0ttQ0E7QXRLbkNBOzs7QXNLdUNBO0F4SzdCQTtBQWdCQTs7QXdLaUJBO0F4SzNDQTs7QXdLOENBO0F0SzlDQTs7O0FzS2tEQTtBeEt4Q0E7QUFnQkE7O0F3SzRCQTtBeEt0REE7O0F3S3lEQTtBdEt6REE7OztBc0s2REE7QXhLbkRBO0FBZ0JBOztBd0t1Q0E7QXhKakVBOzs7Ozs7OztBd0owRUE7QXZKMUVBO0FBU0E7QWpCVEE7O0F3SytFQTtBdEsvRUE7OztBc0ttRkE7QXhLekVBO0FBZ0JBOztBd0s2REE7QXpIdkZBO0FBWUE7QS9DWkE7O0F3SzRGQTtBdEs1RkE7OztBc0tnR0E7QXhLdEZBO0FBZ0JBOztBd0swRUE7QXhLcEdBOztBd0t1R0E7QXRLdkdBOzs7QXNLMkdBO0F4S2pHQTtBQWdCQTs7QXdLcUZBO0F4Sy9HQTs7QXdLa0hBO0F0S2xIQTs7O0FzS3NIQTtBeEs1R0E7QUFnQkE7O0F3S2dHQTtBL0cxSEE7QUFTQTtBZ0hp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QUNBO0FBRUE7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBektoU0E7O0EwS0VBO0F4S0ZBOzs7QXdLTUE7QTFLSUE7QUFnQkE7O0EwS2hCQTtBMUtWQTs7QTBLYUE7QXhLYkE7OztBd0tpQkE7QTFLUEE7QUFnQkE7O0EwS0xBO0ExS3JCQTs7QTBLd0JBO0F4S3hCQTs7O0F3SzRCQTtBMUtsQkE7QUFnQkE7O0EwS01BO0ExS2hDQTs7QTBLbUNBO0F4S25DQTs7O0F3S3VDQTtBMUs3QkE7QUFnQkE7O0EwS2lCQTtBQ3JDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdJTEE7QXhCMmlCQTtBcUszaUJBO0E3SVVBO0FBS0E7QUFDQTs7QTlCdEJBOztBNEtFQTtBMUtGQTs7O0EwS01BO0E1S0lBO0FBZ0JBOztBNEtoQkE7QTVLVkE7O0E0S2FBO0ExS2JBOzs7QTBLaUJBO0E1S1BBO0FBZ0JBOztBNEtMQTtBNUtyQkE7O0E0S3dCQTtBMUt4QkE7OztBMEs0QkE7QTVLbEJBO0FBZ0JBOztBNEtNQTtBNUtoQ0E7O0E0S21DQTtBMUtuQ0E7OztBMEt1Q0E7QTVLN0JBO0FBZ0JBOztBNEtpQkE7QTdIM0NBO0FBWUE7QS9DWkE7O0E0S2dEQTtBMUtoREE7OztBMEtvREE7QTVLMUNBO0FBZ0JBOztBNEs4QkE7QTVLeERBOztBNEsyREE7QTFLM0RBOzs7QTBLK0RBO0E1S3JEQTtBQWdCQTs7QTRLeUNBO0F2SW5FQTtBQU1BO0FyQ05BOztBNEt3RUE7QTFLeEVBOzs7QTBLNEVBO0E1S2xFQTtBQWdCQTs7QTRLc0RBO0E1S2hGQTs7QTRLbUZBO0ExS25GQTs7O0EwS3VGQTtBNUs3RUE7QUFnQkE7O0E0S2lFQTtBNUszRkE7O0E0SzhGQTtBMUs5RkE7OztBMEtrR0E7QTVLeEZBO0FBZ0JBOztBNEs0RUE7QWxKdEdBOztBa0p5R0E7QUNyRUE7QS9JOUJB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aENBOztBMkxtQ0E7QXpMbkNBOzs7QXlMdUNBO0EzTDdCQTtBQWdCQTs7QTJMaUJBO0FSR0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FRdUpBO0FDaE1BO0FUQ0E7QUFDQTtBQUdBO0FTTEE7QUFLQTtBQU1BO0FUR0E7QUFDQTtBQUNBO0FBQ0E7QVNOQTtBVFNBO0FTTEE7QVRhQTtBQUNBO0FBQ0E7O0FuTHBDQTs7QTZMRUE7QTNMRkE7OztBMkxNQTtBN0xJQTtBQWdCQTs7QTZMaEJBO0E3TFZBOztBNkxhQTtBM0xiQTs7O0EyTGlCQTtBN0xQQTtBQWdCQTs7QTZMTEE7QTdMckJBOztBNkx3QkE7QTNMeEJBOzs7QTJMNEJBO0E3TGxCQTtBQWdCQTs7QTZMTUE7QTdMaENBOztBNkxtQ0E7QTNMbkNBOzs7QTJMdUNBO0E3TDdCQTtBQWdCQTs7QTZMaUJBO0FWR0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FVdUpBO0FDaE1BO0FBS0E7QUFDQTtBQUdBO0FYUkE7QUFDQTtBQUdBO0FBQ0E7QVdPQTtBWENBO0FBQ0E7QUFDQTtBQUNBO0FXSkE7QVhPQTtBQUNBO0FXSkE7QVhXQTtBQUNBO0FBQ0E7QUFDQTtBV1ZBO0FYZUE7QUFDQTs7QW5MM0NBOztBK0xFQTtBN0xGQTs7O0E2TE1BO0EvTElBO0FBZ0JBOztBK0xoQkE7QS9MVkE7O0ErTGFBO0E3TGJBOzs7QTZMaUJBO0EvTFBBO0FBZ0JBOztBK0xMQTtBL0xyQkE7O0ErTHdCQTtBN0x4QkE7OztBNkw0QkE7QS9MbEJBO0FBZ0JBOztBK0xNQTtBL0xoQ0E7O0ErTG1DQTtBN0xuQ0E7OztBNkx1Q0E7QS9MN0JBO0FBZ0JBOztBK0xpQkE7QVpHQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVl1SkE7QUNoTUE7QUFHQTtBYkZBO0FBQ0E7QUFHQTtBYUxBO0FBU0E7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBYkpBO0FBQ0E7QUFDQTtBQUNBO0FhR0E7QUFGQTtBYkVBO0FhR0E7QWJhQTtBQUNBO0FhWkE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0FiQUE7QUFDQTtBYUNBO0FBQ0E7QUFFQTtBQUNBOztBaE1oREE7O0FpTUVBO0EvTEZBOzs7QStMTUE7QWpNSUE7QUFnQkE7O0FpTWhCQTtBak1WQTs7QWlNYUE7QS9MYkE7OztBK0xpQkE7QWpNUEE7QUFnQkE7O0FpTUxBO0FDckJBOzs7O0FEMEJBO0FqTTFCQTs7QWlNNkJBO0EvTDdCQTs7O0ErTGlDQTtBak12QkE7QUFnQkE7O0FpTVdBO0F4RHJDQTs7Ozs7Ozs7OztBd0RnREE7QXhEbENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBR0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBOzs7Ozs7O0FBUUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBa0JBO0FBQ0E7QUFLQTtBQWtCQTtBQUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBa0JBO0FBQ0E7QUFLQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUlBO0FBQ0E7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7OztBQU1BO0FBQ0E7QUFFQTs7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBR0E7QUFDQTtBQUNBOzs7QUFLQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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REE7QUF3REE7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUNqRkE7QUFDQTs7QUNGQTs7QUNFQTtBMU1GQTs7QTBNS0E7QXhNTEE7OztBd01TQTtBMU1DQTtBQWdCQTs7QTBNYkE7QTFNYkE7O0EwTWdCQTtBeE1oQkE7OztBd01vQkE7QTFNVkE7QUFnQkE7O0EwTUZBO0ExTXhCQTs7QTBNMkJBO0F4TTNCQTs7O0F3TStCQTtBMU1yQkE7QUFnQkE7O0EwTVNBO0FyTG5DQTtBQVNBO0FyQlRBOztBME13Q0E7QXhNeENBOzs7QXdNNENBO0ExTWxDQTtBQWdCQTs7QTBNc0JBO0FEOUJBO0FBQ0E7QUFDQTtBQUxBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBQWlCQTtBQWpCQTtBQXFCQTtBQUNBO0FBdEJBO0FBMEJBO0FBQ0E7QUFJQTtBakxBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FpTGJBO0FBQ0E7QW5NK2ZBO0FtTW5nQkE7QWpMbUJBO0FBQ0E7QUFDQTtBaUxmQTtBakxvRUE7QUFDQTtBaUxyRUE7QWpMNEVBO0FBQ0E7QUFDQTtBaUw5RUE7QWpMaUZBO0FBQ0E7QWlMdkVBO0FBQ0E7O0F6TWhFQTs7QTJNRUE7QXpNRkE7OztBeU1NQTtBM01JQTtBQWdCQTs7QTJNaEJBO0EzTVZBOztBMk1hQTtBek1iQTs7O0F5TWlCQTtBM01QQTtBQWdCQTs7QTJNTEE7QTVKckJBO0FBWUE7QS9DWkE7O0EyTTBCQTtBek0xQkE7OztBeU04QkE7QTNNcEJBO0FBZ0JBOztBMk1RQTtBM01sQ0E7O0EyTXFDQTtBek1yQ0E7OztBeU15Q0E7QTNNL0JBO0FBZ0JBOztBMk1tQkE7QXRLN0NBO0FBTUE7QXJDTkE7O0EyTWtEQTtBek1sREE7OztBeU1zREE7QTNNNUNBO0FBZ0JBOztBMk1nQ0E7QUM1Q0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0F0TXNoQkE7QXNNcGhCQTtBQUVBO0FBSUE7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Q0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBeEM0aEJBO0ErTWhaQTtBRzVGQTtBSDRGQTtBR3pGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhvRkE7QUdoRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIMkVBO0FHdkVBO0FIdUVBOztBR2xFQTtBSGtFQTtBQWdCQTtBQWhCQTtBQXFCQTtBQUNBO0FBV0E7QUFFQTtBQUZBO0FBTUE7QUFOQTs7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUtBOztBRzVHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsTm9jQTtBK001VkE7O0FHeE1BO0FBQ0E7QUFDQTtBSHNNQTs7QUduTUE7QUhtTUE7O0FHL0xBO0FIK0xBOztBRzNMQTtBQUNBO0FBQ0E7QUFDQTtBSHdMQTs7QUdyTEE7QUhxTEE7O0FHakxBO0FsTjZnQkE7QStNNVZBOztBRzNLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxOK2ZBO0ErTTVWQTs7QUc1SkE7QWxOd2ZBO0ErTTVWQTs7QXZLek1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QXhDNGhCQTtBK001VkE7O0FHaEpBO0FIZ0pBOztBRzdJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUh3SUE7O0FHcElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSCtIQTs7QUczSEE7QUgySEE7Ozs7QUd0SEE7QUFDQTtBSGdJQTs7QXJOaE9BOztBeU5FQTtBdk5GQTs7O0F1Tk1BO0F6TklBO0FBZ0JBOztBeU5oQkE7QXpOVkE7O0F5TmFBO0F2TmJBOzs7QXVOaUJBO0F6TlBBO0FBZ0JBOztBeU5MQTtBek5yQkE7O0F5TndCQTtBdk54QkE7OztBdU40QkE7QXpObEJBO0FBZ0JBOztBeU5NQTtBek5oQ0E7O0F5Tm1DQTtBdk5uQ0E7OztBdU51Q0E7QXpON0JBO0FBZ0JBOztBeU5pQkE7QXBMM0NBO0FBTUE7QXFMeUNBO0FBR0E7QUFDQTtBQUNBO0FwTjZmQTtBb05sZ0JB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*/