/* The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. */
/* Customize the light and dark text colors for use in our YIQ color contrast function. */
.site {
  font-size: var(--site-text-font-size);
  line-height: var(--site-text-line-height);
  font-weight: var(--site-text-font-weight);
  overflow: clip;
  /*
*******************************************
Site Section - General
*******************************************
*/
  /*
*******************************************
Site Section - Title
*******************************************
*/
  /*
*******************************************
Site Section - Actions
*******************************************
*/
  /*
*******************************************
Site Section - Desc
*******************************************
*/
  /*
*******************************************
Site Section - Graphic
*******************************************
*/
  /*
*******************************************
Site Section - Content
*******************************************
*/
  /*
*******************************************
Site Section - Sides
*******************************************
*/
  /*
*******************************************
Site Section - Styles
*******************************************
*/
  /* CodeGuard Slider Box */
  /* CodeGuard Slider */
  /* main-subnav */
  /* tabs-filters */
  /* nav-tab */
  /*
*******************************************
Site News Box
*******************************************
*/ }
  .site p,
  .site ul,
  .site ol {
    margin-bottom: var(--ui-block-spacing-sm); }
  .site .d-flex-align {
    display: flex;
    align-items: center; }
  .site b,
  .site strong {
    color: var(--text-heading-color); }
  .site .has-shadow {
    box-shadow: var(--ui-block-shadow-lg); }
  .site .m-safari {
    margin: 0px -.3px; }
  @media (min-width: 768px) {
    .site .row.f-flow {
      flex-flow: row; } }
  @media (min-width: 575px) {
    .site .homepage-tiles {
      flex-flow: row; } }
  @supports (-webkit-hyphens: none) {
    .site .homepage-tiles.row:before {
      display: table-cell; } }
  .site .text-start {
    text-align: start !important; }
  .site .site-section {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: var(--site-section-padding-v) 0;
    background: var(--site-section-bg); }
    .site .site-section + .site-section:not(.section-secondary):not(.section-primary) {
      border-top: var(--site-section-border); }
    .site .site-section.section-slider-btn + .site-section, .site .site-section.section-steps + .site-section {
      border: 0px; }
    .site .site-section > .container > .section-content + .section-content,
    .site .site-section > .container > .section-content + .section-sides,
    .site .site-section > .container > .section-sides + .section-sides,
    .site .site-section > .container > .section-sides + .section-content {
      margin-top: var(--site-section-padding-v); }
    .site .site-section > .container > .section-graphic + .section-content,
    .site .site-section > .container > .section-content + .section-actions {
      margin-top: var(--site-section-spacing); }
    .site .site-section .show-all-btn {
      text-align: center; }
  .site .site-section .section-heading {
    color: var(--text-primary-color);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium); }
  .site .site-section .section-title {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-title-color);
    font-size: var(--site-section-title-font-size);
    font-weight: var(--site-section-title-font-weight);
    line-height: var(--site-section-title-line-height);
    text-transform: capitalize;
    text-align: center; }
    .site .site-section .section-title-sm {
      font-size: var(--site-section-title-sm-font-size);
      font-weight: var(--site-section-title-sm-font-weight);
      line-height: var(--site-section-title-sm-line-height);
      margin-bottom: var(--site-section-title-sm-margin-bottom); }
    .site .site-section .section-title b,
    .site .site-section .section-title strong {
      color: var(--site-section-title-color); }
    .site .site-section .section-title + .section-subtitle {
      margin-top: calc(-1 * (var(--site-section-title-margin-bottom) - var(--site-section-title-subtitle-spacing))); }
  .site .site-section .section-subtitle {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-subtitle-color);
    font-size: var(--site-section-subtitle-font-size);
    font-weight: var(--site-section-subtitle-font-weight);
    line-height: var(--site-section-subtitle-line-height);
    text-align: center; }
    .site .site-section .section-subtitle-bottom {
      margin: var(--site-section-title-margin-bottom) auto 0 auto; }
  .site .site-section .section-sides .section-title,
  .site .site-section .section-sides .section-subtitle {
    text-align: left;
    max-width: none; }
  .site .site-section .section-sides .section-title {
    margin-bottom: var(--site-section-title-sm-margin-bottom); }
  .site .site-section .section-sides-nordvpn .section-title {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-subtitle {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  .site .site-section .section-sides-nordvpn .section-desc p {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-graphic img {
    width: 100%; }
  .site .site-section .section-actions {
    margin-top: var(--site-section-spacing);
    text-align: center; }
    .site .site-section .section-actions .btn + .btn {
      margin-left: var(--ui-block-spacing-sm); }
  .site .site-section .section-sides .section-actions {
    text-align: left; }
  .site .site-section .section-desc {
    text-align: center; }
    .site .site-section .section-desc ul {
      padding-left: 18px; }
    .site .site-section .section-desc .check-list {
      list-style: none;
      padding: 0px; }
      .site .site-section .section-desc .check-list li {
        position: relative;
        padding-left: 40px;
        margin-bottom: var(--ui-block-spacing-xs); }
        .site .site-section .section-desc .check-list li .lm-check {
          position: absolute;
          top: 5px;
          left: 0;
          color: var(--text-primary-color); }
    .site .site-section .section-desc > h3,
    .site .site-section .section-desc > .h3 {
      margin-top: var(--article-h3-margin-top);
      margin-bottom: var(--article-h3-margin-bottom); }
    .site .site-section .section-desc > h4,
    .site .site-section .section-desc > .h4 {
      margin-top: var(--article-h4-margin-top);
      margin-bottom: var(--article-h4-margin-bottom); }
    .site .site-section .section-desc > h5,
    .site .site-section .section-desc > .h5 {
      margin-top: var(--article-h5-margin-top);
      margin-bottom: var(--article-h5-margin-bottom); }
    .site .site-section .section-desc > *:last-child {
      margin-bottom: 0; }
  .site .site-section .section-sides .section-desc {
    text-align: left; }
    .site .site-section .section-sides .section-desc .text-default {
      color: var(--text-body-color); }
  .site .site-section .section-graphic {
    display: flex;
    justify-content: center; }
    .site .site-section .section-graphic .graphic > img {
      max-width: 100%; }
    .site .site-section .section-graphic-illustration {
      height: var(--site-section-illustration-height);
      position: relative;
      z-index: -1; }
      @media (max-width: 991.98px) {
        .site .site-section .section-graphic-illustration {
          height: var(--site-section-illustration-height-sm);
          width: var(--site-section-illustration-width-sm);
          margin-left: auto;
          margin-right: auto; }
          .site .site-section .section-graphic-illustration svg {
            height: 100%;
            width: 100%; } }
      .site .site-section .section-graphic-illustration .promo-slider-icon {
        position: absolute;
        top: 0;
        right: 0;
        opacity: 0;
        bottom: unset;
        height: auto;
        width: var(--site-section-illustration-width); }
        @media (max-width: 991.98px) {
          .site .site-section .section-graphic-illustration .promo-slider-icon {
            width: var(--site-section-illustration-width-sm); } }
        .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo {
          visibility: visible;
          animation-name: showSliderIcons;
          animation-duration: 0.32s;
          animation-timing-function: cubic-bezier(0, 0, 0, 1);
          animation-fill-mode: forwards;
          margin: 0; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse {
            animation-name: showSliderIconsReverse; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(3) {
              animation-delay: 0.72s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(2) {
              animation-delay: 0.64s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(1) {
              animation-delay: 0.56s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(1) {
            animation-delay: 0.72s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(2) {
            animation-delay: 0.64s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(3) {
            animation-delay: 0.56s; }
    .site .site-section .section-graphic-custom .svg-graphic-stroke-p {
      display: none; }
  .site .site-section .tab-content-cpanelseo {
    margin-top: var(--spacing-8x); }
  .site .site-section .section-sides .section-graphic {
    justify-content: flex-start; }
    @media (min-width: 992px) {
      .site .site-section .section-sides .section-graphic {
        min-width: calc(50% - var(--site-section-sides-spacing) / 2); } }
    .site .site-section .section-sides .section-graphic.order-last {
      justify-content: flex-end; }
  @media (max-width: 991.98px) {
    .site .site-section .tab-content-cpanelseo {
      margin-top: var(--spacing-4x); }
    .site .site-section .tab-pane-cpanelseo .section-sides {
      display: flex;
      flex-direction: column; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-content {
        order: 2; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-graphic {
        margin-top: 0 !important; }
    .site .site-section .section-sides .section-graphic {
      justify-content: center !important; }
    .site .site-section .section-sides .section-graphic + .section-content {
      margin-top: var(--site-section-sides-spacing); }
    .site .site-section .section-sides .section-content + .section-graphic {
      margin-top: var(--site-section-sides-spacing); } }
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-browser-body,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-graphs-bg,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-phone-bg {
    fill: var(--gray-faded); }
  @media (min-width: 992px) {
    .site .site-section .section-sides > .section-content {
      flex: 1; } }
  @media (max-width: 991.98px) {
    .site .site-section .section-sides .section-content + .section-content {
      margin-top: var(--site-section-sides-spacing); } }
  @media (min-width: 992px) {
    .site .site-section .section-sides {
      display: flex;
      align-items: center; }
      .site .site-section .section-sides > * + * {
        margin-left: var(--site-section-sides-spacing); }
      .site .site-section .section-sides .section-content.order-last + .order-first,
      .site .site-section .section-sides .section-graphic.order-last + .order-first {
        margin-left: 0;
        margin-right: var(--site-section-sides-spacing); } }
  .site .site-section.section-secondary .svg-icon .outline,
  .site .site-section.section-primary .svg-icon .outline {
    stroke: var(--svg-icon-on-dark-color-secondary); }
  .site .site-section.section-secondary .package .svg-icon .outline,
  .site .site-section.section-primary .package .svg-icon .outline {
    stroke: var(--gray-darker); }
  .site .site-section.section-secondary .browser-notice p,
  .site .site-section.section-primary .browser-notice p {
    color: var(--text-lighter-color); }
  .site .site-section.section-secondary {
    background: var(--secondary-block-bg); }
    .site .site-section.section-secondary .section-title,
    .site .site-section.section-secondary .section-title strong,
    .site .site-section.section-secondary .section-title b {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .section-subtitle {
      color: var(--secondary-block-subtitle-color); }
    .site .site-section.section-secondary .section-desc {
      color: var(--secondary-block-text-color); }
    .site .site-section.section-secondary .feature-content .feature-title {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .feature-content .feature-desc {
      color: var(--secondary-block-text-color); }
  .site .site-section.section-primary {
    background: var(--primary-block-bg); }
    .site .site-section.section-primary .section-title,
    .site .site-section.section-primary .section-title strong,
    .site .site-section.section-primary .section-title b {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .section-subtitle {
      color: var(--primary-block-subtitle-color); }
    .site .site-section.section-primary .section-desc {
      color: var(--primary-block-text-color); }
    .site .site-section.section-primary .feature-content .feature-title {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .feature-content .feature-desc {
      color: var(--primary-block-text-color); }
  @media (max-width: 767.98px) {
    .site .site-section .section-graphic {
      margin-top: var(--site-section-title-margin-bottom);
      order: 1;
      display: block; }
      .site .site-section .section-graphic .browser,
      .site .site-section .section-graphic .graphic {
        margin: 0 auto; } }
  .site.site-xovinow .section-sides {
    max-height: 366px; }
  .site .panel-faq {
    box-shadow: none;
    background: transparent;
    border: none; }
    .site .panel-faq .panel {
      border-left: 0;
      border-right: 0;
      border-radius: 0;
      background: transparent; }
      .site .panel-faq .panel-body, .site .panel-faq .panel-heading {
        padding-left: 0;
        padding-right: 0;
        padding-top: var(--ui-block-padding-base);
        padding-bottom: var(--ui-block-padding-base);
        background: transparent; }
      .site .panel-faq .panel-body {
        padding-top: 0;
        font-size: var(--site-text-font-size);
        line-height: var(--site-text-line-height); }
      .site .panel-faq .panel-heading .panel-title {
        font-size: var(--font-size-h5);
        font-weight: var(--font-weight-h5);
        line-height: var(--line-height-h5); }
      .site .panel-faq .panel:first-child {
        border-top: 0; }
      .site .panel-faq .panel:last-child {
        border-bottom: 0; }
      .site .panel-faq .panel:hover, .site .panel-faq .panel.is-open {
        border-color: var(--panel-border-divider-color) !important; }
      .site .panel-faq .panel-accordion img {
        max-width: 100%;
        margin-bottom: var(--spacing-2x); }
  .site .package-slider {
    width: 100%;
    max-width: 832px;
    margin: 0 auto;
    box-shadow: var(--ui-block-shadow);
    border-radius: var(--ui-block-border-radius);
    background: var(--ui-block-bg); }
    .site .package-slider-body {
      padding: 48px 56px; }
    .site .package-slider-bottom {
      display: flex;
      justify-content: space-between;
      padding-top: 54px; }
    .site .package-slider-summary {
      display: flex; }
      .site .package-slider-summary-item {
        display: flex;
        flex-direction: column;
        min-width: 120px;
        position: relative;
        margin-right: 24px; }
        .site .package-slider-summary-item:not(:last-of-type):after {
          content: '';
          position: absolute;
          right: 0;
          width: 1px;
          background: var(--ui-block-border-color);
          top: 0;
          bottom: 0; }
      .site .package-slider-summary-label {
        color: var(--price-font-size-color);
        font-size: var(--site-text-xs-font-size);
        line-height: var(--site-text-xs-line-height);
        margin-bottom: 5px; }
      .site .package-slider-summary-value {
        display: flex;
        font-size: var(--price-font-size);
        line-height: var(--price-line-height);
        font-weight: var(--price-font-weight);
        color: var(--price-color); }
      .site .package-slider-summary .price-cycle {
        font-size: 24px;
        line-height: 30px;
        align-self: flex-end;
        display: inline-block; }
    .site .package-slider-actions {
      align-self: flex-end;
      display: flex; }
      .site .package-slider-actions form + form {
        margin-left: var(--ui-block-padding-base); }
  .site .slider .irs-single {
    display: none !important; }
  .site .slider-actions {
    padding-top: 16px; }
    .site .slider-actions-list {
      display: flex;
      justify-content: space-between; }
    .site .slider-actions-btn {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 68px;
      height: var(--range-slider-actions-height);
      border: 1px solid var(--range-slider-actions-border-color);
      border-radius: var(--range-slider-actions-border-radius);
      font-size: var(--site-text-sm-font-size);
      line-height: var(--site-text-sm-line-height);
      font-weight: var(--font-weight-base);
      cursor: pointer;
      transition: var(--transition-base); }
      .site .slider-actions-btn:hover, .site .slider-actions-btn:focus-visible {
        border-color: var(--brand-primary);
        color: var(--text-primary-color); }
      .site .slider-actions-btn span {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        position: relative;
        z-index: 2;
        height: 100%;
        padding: 0 4px;
        padding-top: 1px;
        background: var(--ui-block-bg);
        border-radius: var(--range-slider-actions-border-radius); }
      .site .slider-actions-btn.active {
        border-color: var(--range-slider-actions-active-border-color);
        color: var(--ui-link-active-color); }
  .site-index .slider {
    display: flex; }
  @media (max-width: 991.98px) {
    .site .package-slider-bottom.has-currency {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions {
        flex: 1;
        align-self: stretch;
        padding-top: 24px; } }
  @media (max-width: 767px) {
    .site .package-slider-body {
      padding: var(--ui-block-padding-base); }
    .site .package-slider-bottom {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions form {
        flex-basis: 50%; }
    .site .package-slider-actions {
      flex: 1;
      align-self: stretch;
      padding-top: 24px; } }
  @media screen and (max-width: 767px) and (-ms-high-contrast: active), (max-width: 767px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      flex: auto; } }
  @media (max-width: 767px) {
      .site .package-slider-actions form {
        flex-basis: 100%; }
      .site .package-slider-actions .btn {
        width: 100%; }
    .site .slider-actions {
      display: none; } }
  @media (max-width: 575px) {
    .site .package-slider-actions {
      flex-direction: column; } }
  @media screen and (max-width: 575px) and (-ms-high-contrast: active), (max-width: 575px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      align-items: center;
      justify-content: center;
      flex-flow: row wrap;
      flex: auto; } }
  @media (max-width: 575px) {
      .site .package-slider-actions form + form {
        margin: 16px 0 0; }
    .site .package-slider-summary-item {
      min-width: unset;
      padding-right: 24px; }
    .site .package-slider-summary-label {
      margin-bottom: 0; }
    .site .package-slider-summary .price-prefix {
      font-size: var(--site-text-font-size); }
    .site .package-slider-summary .price-cycle {
      font-size: var(--site-text-font-size);
      margin-bottom: 0; } }
  .site .show-all-btn {
    margin: 24px 0px 0px 0px; }
    .site .show-all-btn .show-all {
      font-weight: var(--font-weight-medium);
      font-size: var(--font-size-md); }
  .site .product-billing-switcher {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--site-section-title-margin-bottom); }
    .site .product-billing-switcher .btn-group {
      flex-wrap: wrap;
      padding: 2px;
      border: 1px solid var(--ui-block-divider-color);
      border-radius: var(--ui-height-base); }
      .site .product-billing-switcher .btn-group > .btn {
        border-radius: var(--ui-height-base) !important; }
        .site .product-billing-switcher .btn-group > .btn:hover, .site .product-billing-switcher .btn-group > .btn:focus-visible {
          background: var(--btn-primary-faded-bg);
          border-color: var(--btn-primary-faded-border);
          color: var(--btn-primary-faded-color); }
        .site .product-billing-switcher .btn-group > .btn.active {
          background: var(--btn-primary-bg);
          border-color: var(--btn-primary-border);
          box-shadow: var(--box-shadow-base);
          color: var(--btn-primary-color); }
        .site .product-billing-switcher .btn-group > .btn + .btn {
          margin-left: 2px; }
  .site .section-title + .product-billing-switcher {
    margin-top: calc(var(--site-section-title-margin-bottom) / -2); }
  .site .section-primary .product-billing-switcher .btn-group,
  .site .section-secondary .product-billing-switcher .btn-group {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg); }
    .site .section-primary .product-billing-switcher .btn-group > .btn,
    .site .section-secondary .product-billing-switcher .btn-group > .btn {
      color: var(--btn-light-color); }
      .site .section-primary .product-billing-switcher .btn-group > .btn:hover, .site .section-primary .product-billing-switcher .btn-group > .btn:focus-visible,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:hover,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:focus-visible {
        background: var(--btn-light-bg);
        border-color: transparent; }
      .site .section-primary .product-billing-switcher .btn-group > .btn.active,
      .site .section-secondary .product-billing-switcher .btn-group > .btn.active {
        background: var(--btn-primary-faded-bg);
        border-color: var(--btn-primary-faded-border);
        box-shadow: var(--box-shadow-base);
        color: var(--btn-primary-faded-color); }
  .site .section-primary .product-billing-switcher .dropdown-toggle,
  .site .section-secondary .product-billing-switcher .dropdown-toggle {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg);
    color: var(--btn-light-color);
    min-width: var(--dropdown-min-width); }
  .site .section-primary .product-billing-switcher .dropdown-item,
  .site .section-secondary .product-billing-switcher .dropdown-item {
    flex: 100%;
    width: 100%;
    border: 0;
    background: transparent;
    transition: color var(--transition-base), background var(--transition-base), padding var(--transition-base); }
    .site .section-primary .product-billing-switcher .dropdown-item.active,
    .site .section-secondary .product-billing-switcher .dropdown-item.active {
      background-color: var(--dropdown-link-active-bg); }
  .site .site-subnav {
    position: relative;
    z-index: 2;
    background-color: transparent;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .site-subnav .nav {
      margin-left: calc(-1 * var(--nav-link-padding-h));
      margin-right: calc(-1 * var(--nav-link-padding-h));
      margin-bottom: 0px; }
    @media (min-width: 992px) {
      .site .site-subnav {
        display: flex !important; }
        .site .site-subnav .navbar-collapse.collapse {
          display: block !important; }
          .site .site-subnav .navbar-collapse.collapse .navbar-nav {
            flex-direction: row; }
            .site .site-subnav .navbar-collapse.collapse .navbar-nav li a {
              position: relative; } }
    @media (max-width: 991.98px) {
      .site .site-subnav {
        border: none;
        margin-top: var(--ui-block-spacing-lg); }
        .site .site-subnav .navbar-toggle {
          margin-right: 0px;
          float: left; }
          .site .site-subnav .navbar-toggle .icon-bar {
            background-color: var(--ui-icon-color); }
        .site .site-subnav .navbar-collapse {
          border: none; } }
  .site .ssl-filters {
    display: flex;
    justify-content: center;
    flex-direction: column; }
  .site .tabs {
    position: relative; }
    .site .tabs .nav-tabs {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      .site .tabs .nav-tabs:after {
        content: "";
        height: 1px;
        background-color: var(--gray-lighter-4);
        position: absolute;
        left: 0;
        right: 0px;
        bottom: 0; }
  .site .row-pricing-table .panel-package {
    padding: 0;
    background-color: #fff;
    border: none; }
    .site .row-pricing-table .panel-package ul li .lm-check {
      color: var(--text-primary-color); }
    .site .row-pricing-table .panel-package ul li.price {
      color: var(--text-primary-color);
      font-weight: var(--font-weight-medium); }
    .site .row-pricing-table .panel-package form {
      padding: var(--ui-block-padding-base); }
  .site .row-pricing-table .sidebar .header {
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-base);
    height: 80px;
    text-align: center;
    overflow: hidden; }
  .site .row-pricing-table .sidebar ul li {
    background: rgba(255, 255, 255, 0.05);
    border: none;
    border-radius: var(--border-radius-base);
    margin-bottom: 1px;
    color: #fff;
    text-align: left;
    font-weight: var(--font-weight-light); }
  .site .row-pricing-table .package-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-sm);
    height: 80px;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .row-pricing-table .package-header h4 {
      margin: 0;
      font-size: var(--font-size-h3); }
  .site .row-pricing-table ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .site .row-pricing-table ul li {
      padding: 0 16px;
      line-height: 40px;
      text-align: center;
      border-bottom: 1px solid var(--ui-block-divider-color); }
  .site .logos {
    display: flex;
    justify-content: space-around; }
    .site .logos .logo {
      width: 100%;
      max-width: 240px;
      padding: var(--ui-block-padding-sm); }
      .site .logos .logo > img {
        max-width: 100%; }
  .site .browser {
    display: flex;
    flex-direction: column;
    background: var(--ui-block-bg);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    max-width: 100%;
    box-shadow: var(--svg-graphic-shadow); }
    .site .browser-top {
      display: flex;
      align-items: center;
      width: 100%;
      height: 32px;
      padding: 0 var(--ui-block-padding-sm); }
      .site .browser-top:not(.browser-top-transparent) {
        background: var(--svg-graphic-bg-browser-top); }
    .site .browser-actions {
      display: flex; }
      .site .browser-actions > span {
        display: block;
        height: 6px;
        width: 6px;
        margin-right: 6px;
        background: var(--svg-graphic-bg-browser-actions);
        border-radius: 100%; }
    .site .browser-body {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: var(--ui-block-padding-sm); }
    .site .browser-sm {
      width: 446px; }
      .site .browser-sm .browser-top {
        height: 24px;
        padding: 0 var(--spacing-1x); }
    .site .browser-md {
      width: 560px; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .site .browser .svg-graphic {
        height: 314px; } }
    .site .browser-google {
      position: relative;
      overflow: unset;
      max-width: 500px;
      max-height: 300px; }
      .site .browser-google > svg {
        width: 100%;
        height: 100%; }
      .site .browser-google > div {
        position: absolute; }
      .site .browser-google .quote {
        top: -13.5px;
        right: 28px; }
      .site .browser-google .puzzle {
        bottom: -19px;
        right: -19px; }
  .site .browser-ssl {
    margin: 0 auto; }
    .site .browser-ssl .browser-body {
      height: 440px; }
  .site .browser-lg {
    width: 100%;
    max-width: 832px;
    padding: var(--ui-block-padding-base);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius-lg); }
    .site .browser-lg .browser-top {
      padding: 2px 0 10px;
      justify-content: space-between; }
    .site .browser-lg .browser-actions {
      margin-right: 10px; }
      .site .browser-lg .browser-actions > span {
        height: 12px;
        width: 12px;
        margin-right: var(--spacing-1x);
        background: var(--svg-graphic-bg-browser-actions); }
    .site .browser-lg .browser-searchbar {
      height: 28px;
      width: 100%;
      background: var(--svg-graphic-bg-faded);
      border-radius: var(--border-radius-sm);
      display: flex;
      justify-content: start;
      align-items: center;
      font-size: var(--font-size-sm);
      padding: 0 10px; }
    .site .browser-lg .browser-body {
      display: flex;
      align-items: center;
      justify-content: center; }
    .site .browser-lg .browser-notice {
      max-width: 456px;
      padding: 0px 12px; }
      .site .browser-lg .browser-notice p {
        margin: 0;
        font-weight: var(--font-weight-base);
        text-align: center; }
    .site .browser-lg .browser-image {
      margin: -40px 0 40px 0;
      text-align: center; }
  .site .browser-zoom {
    overflow: hidden;
    position: relative; }
    .site .browser-zoom .browser-img-zoom {
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden; }
      .site .browser-zoom .browser-img-zoom, .site .browser-zoom .browser-img-zoom:after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
      .site .browser-zoom .browser-img-zoom:after {
        content: "";
        background: var(--brand-primary-gradient-v);
        opacity: 0.6; }
      .site .browser-zoom .browser-img-zoom i {
        position: relative;
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        color: var(--text-secondary-heading-color);
        font-size: 64px;
        transform: translateY(16px);
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
    .site .browser-zoom:hover .browser-img-zoom {
      opacity: 1;
      visibility: visible; }
      .site .browser-zoom:hover .browser-img-zoom i {
        opacity: 1;
        visibility: visible;
        transform: translateY(0px); }
  .site.site-spamexperts .browser-sm {
    height: 266px; }
    .site.site-spamexperts .browser-sm .browser-body {
      margin-top: auto;
      margin-bottom: auto; }
  .site .domain-tlds {
    margin: var(--site-section-spacing) 0 0 0;
    justify-content: center; }
    .site .domain-tlds > * {
      margin-top: var(--ui-block-padding-base);
      max-width: 240px; }
    .site .domain-tlds .domain-tld {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
      .site .domain-tlds .domain-tld .tld-price {
        display: inline-block;
        font-weight: var(--font-weight-light);
        color: var(--text-lighter-color); }
      .site .domain-tlds .domain-tld .tld-name {
        display: inline-block;
        color: var(--text-heading-color);
        font-weight: var(--font-weight-bold);
        margin-right: var(--spacing-2x); }
        .site .domain-tlds .domain-tld .tld-name > span {
          color: var(--text-primary-color); }
    .site .domain-tlds > *:not(:last-child) {
      border-right: 1px solid var(--ui-block-divider-color); }
  @media (max-width: 991.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 50%;
      max-width: 50%;
      flex-basis: auto; } }
  @media (max-width: 767.98px) {
    .site .domain-tlds {
      margin: 0 -4px; }
      .site .domain-tlds > * {
        padding-left: 4px;
        padding-right: 4px;
        border: none;
        width: 33.33%;
        border-right: none !important; }
      .site .domain-tlds .domain-tld {
        padding: var(--spacing-1x);
        border: 1px solid var(--gray-lighter-4);
        border-radius: var(--border-radius-base); } }
  @media (max-width: 520px) {
    .site .domain-tlds > * {
      width: 100%;
      max-width: 100%; } }
  @media (max-width: 479.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 100%;
      max-width: 100%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-name,
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      flex-basis: 50%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      text-align: right; } }
  .site .news-box {
    display: flex;
    flex-direction: column;
    border: var(--ui-block-border);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius);
    box-shadow: var(--ui-block-shadow-lg);
    transition: all var(--transition-base) !important;
    margin-bottom: var(--ui-block-spacing-xlg); }
    .site .news-box:hover {
      background: var(--tile-hover-bg);
      transform: translate3d(0, -8px, 0);
      box-shadow: var(--ui-block-shadow-xlg); }
      .site .news-box:hover .icon {
        color: var(--tile-border-color-hover); }
      .site .news-box:hover .news-actions > span {
        color: var(--link-hover-color); }
    .site .news-box .news-body {
      flex: 1;
      padding: 16px 20px 20px 24px; }
    .site .news-box .news-date {
      color: var(--text-lighter-color);
      font-size: var(--site-text-xs-font-size);
      margin-bottom: var(--ui-block-spacing-xs); }
      .site .news-box .news-date i {
        font-size: var(--site-text-xs-font-size);
        margin-right: var(--ui-block-spacing-xs);
        color: var(--ui-icon-color); }
    .site .news-box .news-desc {
      flex: 1;
      font-size: var(--font-size-xlgg);
      line-height: var(--line-height-xlgg);
      color: var(--text-heading-color); }
      .site .news-box .news-desc p {
        margin: 0; }
    .site .news-box .news-actions {
      padding: var(--spacing-1x) var(--ui-block-padding-base);
      border-top: 1px solid var(--ui-block-divider-color);
      font-weight: var(--font-weight-medium); }
  .site .content-slider {
    overflow: visible;
    max-width: 100%;
    position: relative; }
    .site .content-slider-wrapper {
      display: flex;
      position: relative;
      z-index: 1;
      display: flex;
      height: 100%;
      flex-wrap: nowrap;
      transition-property: transform;
      padding: 0; }
    .site .content-slider-item {
      white-space: nowrap;
      width: auto; }
      .site .content-slider-item:first-child {
        margin-left: var(--ui-block-padding-base); }
      .site .content-slider-item:last-child {
        margin-right: var(--ui-block-padding-base); }
      .site .content-slider-item-img img {
        box-shadow: var(--box-shadow-lg);
        width: 768px;
        border-radius: var(--border-radius-lg);
        margin: 0 var(--spacing-2x); }
        @media (max-width: 991.98px) {
          .site .content-slider-item-img img {
            width: 664px; } }
        @media (max-width: 767.98px) {
          .site .content-slider-item-img img {
            width: 510px;
            margin: 0 0;
            margin-right: var(--spacing-1x); } }
        @media (max-width: 520px) {
          .site .content-slider-item-img img {
            width: 305px; } }
  .site .testimonials-item {
    background: var(--ui-block-bg);
    border: var(--ui-block-border);
    box-shadow: var(--ui-block-shadow);
    padding: var(--ui-block-padding-base);
    width: 100%;
    display: flex;
    flex-direction: column;
    white-space: unset;
    border-radius: var(--ui-block-border-radius);
    cursor: default; }
  .site .testimonials-desc {
    margin-bottom: var(--ui-block-spacing-lg); }
    .site .testimonials-desc > p:last-child {
      margin: 0; }
    .site .testimonials-desc p {
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
  .site .testimonials-details {
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: var(--site-text-sm-line-height);
    margin-top: auto; }
  .site .testimonials-avatar {
    margin-right: 32px;
    position: relative;
    width: 64px;
    height: 64px;
    background-color: #eee;
    border-radius: 100%; }
    .site .testimonials-avatar img {
      height: 100%;
      border-radius: 100%; }
    .site .testimonials-avatar span {
      background-color: var(--text-primary-color);
      width: 32px;
      height: 32px;
      display: flex;
      align-content: center;
      justify-content: center;
      color: #fff;
      line-height: 60px;
      border-radius: 100%;
      font-size: 48px;
      position: absolute;
      bottom: 0px;
      right: -16px; }
  .site .testimonials-author > span {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  @media (max-width: 991.98px) {
    .site .testimonials.row .testimonials-item {
      margin-bottom: var(--ui-block-spacing-lg); } }
  .site .slider .testimonials-item {
    min-width: 340px;
    margin: 0px 12px; }
  .site .check-features {
    margin-top: var(--ui-block-spacing-xxlg); }
    .site .check-features > * {
      padding-top: 4px;
      padding-bottom: 4px; }
    .site .check-features .lm-check {
      margin-right: var(--ui-block-padding-base);
      color: var(--text-primary-color); }
  .site .package-get-started {
    background: var(--package-bg);
    border: var(--package-border);
    border-radius: var(--package-border-radius);
    box-shadow: var(--package-block-shadow);
    padding: var(--package-padding);
    position: relative; }
    @media (min-width: 768px) {
      .site .package-get-started {
        flex-direction: row; } }
    .site .package-get-started-content {
      flex: 1;
      text-align: left; }
    .site .package-get-started-summary {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      border-top: 1px solid var(--ui-block-divider-color);
      padding-top: var(--ui-block-spacing-lg);
      margin-top: var(--ui-block-spacing-lg); }
    .site .package-get-started .additional-options .option:not(:first-child) {
      display: none; }
    .site .package-get-started .price:not(:nth-child(3)) {
      display: none; }
    .site .package-get-started .choose-product {
      margin-bottom: var(--ui-block-spacing-lg);
      display: flex;
      flex-direction: row;
      justify-content: space-between; }
      .site .package-get-started .choose-product .btn {
        border-radius: var(--border-radius-base);
        display: -webkit-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        height: 100%;
        padding: 30px;
        font-size: var(--fotn-size-md); }
        .site .package-get-started .choose-product .btn span {
          display: none; }
        .site .package-get-started .choose-product .btn:first-child {
          border-radius: var(--border-radius-base);
          margin-right: var(--spacing-2x); }
        .site .package-get-started .choose-product .btn.active {
          background-color: transparent;
          border-color: var(--text-primary-color); }
          .site .package-get-started .choose-product .btn.active svg {
            display: none; }
          .site .package-get-started .choose-product .btn.active span {
            display: block;
            margin-bottom: var(--ui-block-spacing-lg);
            height: 64px;
            width: 64px;
            line-height: 64px; }
            .site .package-get-started .choose-product .btn.active span i {
              color: var(--text-primary-color);
              font-size: 26px;
              border: 2px solid var(--text-primary-color);
              border-radius: 100px;
              padding: 12px; }
        .site .package-get-started .choose-product .btn .svg-icon {
          margin-bottom: var(--ui-block-spacing-lg); }
        @media (max-width: 991.98px) {
          .site .package-get-started .choose-product .btn {
            padding: 14px; } }
        @media (max-width: 479.98px) {
          .site .package-get-started .choose-product .btn {
            width: 100%;
            margin-bottom: 15px; } }
      @media (max-width: 767.98px) {
        .site .package-get-started .choose-product {
          justify-content: flex-start; } }
      @media (max-width: 479.98px) {
        .site .package-get-started .choose-product {
          flex-direction: column; } }
  .site .emergency-promo {
    position: relative;
    padding: var(--ui-block-padding-xlg);
    border: 1px solid var(--text-primary-color);
    border-radius: var(--border-radius-xlg); }
    .site .emergency-promo-title h3 {
      text-align: center; }
    .site .emergency-promo-banner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      color: var(--brand-primary);
      margin-top: var(--ui-block-spacing-lg); }
      .site .emergency-promo-banner h4 {
        text-align: center; }
  @media (min-width: 768px) {
    .site .emergency-promo {
      border-top: none; }
      .site .emergency-promo-title {
        display: flex;
        position: absolute;
        top: -20px;
        left: 0px;
        right: 0px;
        height: 40px;
        justify-content: center; }
        .site .emergency-promo-title h3 {
          padding: 0px 20px;
          text-align: center; }
        .site .emergency-promo-title span {
          display: block;
          flex: 1;
          height: 20px;
          margin-top: 20px;
          border-top: 1px solid var(--text-primary-color);
          border-radius: var(--border-radius-xlg); } }
  .site .section-ssl-upgrade {
    padding-bottom: 0; }
    .site .section-ssl-upgrade .browser {
      position: relative;
      z-index: 2; }
      .site .section-ssl-upgrade .browser-top {
        background: transparent; }
  .site .ssl-upgrade {
    margin-top: -64px;
    padding: 100px 0; }
    .site .ssl-upgrade .section-title {
      margin-top: var(--ui-block-spacing-xlg);
      margin-bottom: var(--ui-block-spacing-xlg);
      font-weight: var(--font-weight-light);
      font-size: 28px; }
  .site .section-secondary.section-ssl-upgrade .ssl-upgrade {
    padding-bottom: var(--spacing-8x); }
  .site .modal-results .result-negative {
    color: var(--text-primary-color); }
  .site .modal-results .result-positive {
    color: var(--text-success-color); }
  .site .modal-results .result-concern {
    color: var(--text-warning-color); }
  @media (min-width: 768px) {
    .site.site-nordvpn .img-overlap {
      margin-bottom: -100px; } }
  .site.site-nordvpn .comparison {
    text-align: center; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    text-align: left; }
  .site.site-nordvpn .comparison .col-2 {
    min-height: 4rem;
    padding: 0 1rem;
    border: 1px solid var(--ui-block-divider-color);
    border-bottom: none; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2 {
    min-height: 1.5rem; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom: 1px solid var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:not(:nth-of-type(2)) {
    border: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:nth-of-type(2),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-top: none; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    border-right: none; }
  .site.site-nordvpn .comparison .col-2:not(:first-of-type):not(:nth-of-type(2)) {
    border-left: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:first-of-type {
    border-top-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:first-of-type {
    border-bottom-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:last-of-type {
    border-top-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:last-of-type {
    border-bottom-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-radius: 4px 4px 0 0; }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-radius: 0 0 4px 4px; }
  .site.site-nordvpn .comparison .col-2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
  .site.site-nordvpn .comparison .col-12 .col-2:nth-of-type(2) {
    border-left-color: var(--ui-block-divider-color);
    border-right-color: var(--ui-block-divider-color);
    background: var(--brand-info-lighter-3); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-top-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-2 span {
    width: 100%; }
  .site.site-nordvpn .comparison .btn-get-deal {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    background: var(--brand-danger);
    color: #fff;
    border-radius: 4px;
    border-color: transparent; }
  .site.site-nordvpn .comparison-container {
    overflow-x: auto;
    margin-bottom: 2.5rem; }
  .site.site-nordvpn .comparison-container > .row {
    min-width: 1110px; }
  .site.site-nordvpn .comparision-images img {
    mix-blend-mode: multiply; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .row-custom {
      margin-top: var(--spacing-2x);
      gap: 24px; } }
  .site.site-nordvpn .row-content {
    margin-top: var(--spacing-9x); }
    .site.site-nordvpn .row-content-lg {
      margin-top: var(--site-section-padding-v); }
      @media (max-width: 991.98px) {
        .site.site-nordvpn .row-content-lg {
          margin-top: var(--spacing-6x); } }
    .site.site-nordvpn .row-content .h5 {
      font-weight: var(--font-weight-base) !important; }
  .site.site-nordvpn .row .col-sm-12 {
    padding-left: 16px;
    padding-right: 16px; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .feature-icon {
      margin-bottom: var(--spacing-3x); } }
  .site.site-nordvpn .feature-title {
    font-weight: var(--font-weight-base); }
  .site.site-nordvpn .packages-custom .package {
    height: max-content; }
    .site.site-nordvpn .packages-custom .package-body {
      margin-top: 0; }
  .site .icons-network {
    flex: 1;
    display: flex;
    justify-content: space-around;
    margin-top: 80px; }
    .site .icons-network .content-slider-wrapper {
      gap: 40px; }
  @media (max-width: 991.98px) {
    .site .section-content-custom .row-custom:nth-of-type(2) {
      margin-top: 20px; } }
  .site.site-nordvpn .icons-network .content-slider-wrapper {
    transform: none !important; }
  .site.site-socialbee .pricing-table-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    max-height: none; }
  .site.site-socialbee .pricing-table {
    width: 1248px;
    margin: 0 auto; }
    .site.site-socialbee .pricing-table__header-row {
      background-color: var(--gray-lighter-4) !important;
      border-radius: var(--border-radius-base);
      overflow: hidden; }
    .site.site-socialbee .pricing-table__cell {
      padding: 16px;
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      font-weight: var(--font-weight-base);
      color: var(--text-body-color); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__feature-header {
        background-color: var(--brand-primary);
        color: #fff;
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__plan-header {
        color: var(--text-heading-color);
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
    .site.site-socialbee .pricing-table__header-cell {
      padding: 24px 0; }
    .site.site-socialbee .pricing-table__row {
      display: flex;
      width: 100%;
      cursor: pointer;
      transition: all var(--transition-base);
      border-radius: var(--border-radius-base);
      overflow: hidden; }
      .site.site-socialbee .pricing-table__row:hover {
        background-color: var(--brand-primary-lighter-4); }
    .site.site-socialbee .pricing-table__row-actions {
      background: transparent !important;
      cursor: default !important; }
    .site.site-socialbee .pricing-table__feature-name {
      flex: 1.5;
      justify-content: flex-start;
      text-align: left;
      font-weight: var(--font-weight-medium);
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      color: var(--text-heading-color); }
    .site.site-socialbee .pricing-table__feature-header {
      flex: 1.5; }
  .site.site-marketgoo .section-video .embed-responsive {
    padding-bottom: 35%;
    max-width: 702px;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .site.site-marketgoo .site-banner {
      padding-bottom: 92px; }
    .site.site-marketgoo .section-steps {
      margin-top: -92px;
      padding: 0;
      border: 0; }
      .site.site-marketgoo .section-steps + .site-section {
        border-top: none !important; } }
  @media (max-width: 767.98px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 434px;
      padding-bottom: 254px; } }
  @media (max-width: 459px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 328px;
      padding-bottom: 194px; }
    .site.site-marketgoo .slider .testimonials-item {
      margin: 0; }
    .site .slider .testimonials-item {
      min-width: 100% !important;
      width: 100% !important;
      margin: 0;
      padding: 24px !important; } }
  .site .section-templates .templates .nav.nav-tabs li a.active {
    color: var(--text-primary-color); }
  .site .section-templates .templates .row + .row {
    margin-top: var(--spacing-9x); }
  .site .section-templates .templates .previews a {
    color: inherit; }
    .site .section-templates .templates .previews a img {
      width: 100%;
      height: var(--previews-img-height);
      object-fit: cover;
      object-position: top; }
  .site .section-templates .templates .previews .type-label {
    display: none; }
  .site .section-templates .templates .previews .tplname {
    display: block;
    margin-top: var(--spacing-2x);
    text-align: center;
    font-weight: var(--font-weight-lighter); }
  .site .section-templates .templates .previews .thumb-wrapper {
    text-align: center;
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow-xlg);
    overflow: hidden;
    margin-top: var(--spacing-2x); }
  .site .section-templates .templates .previews .show-more-btn {
    margin: var(--spacing-8x) auto 0;
    justify-content: center; }
  .site .section-templates .templates .previews .show-more-item a:focus-visible span {
    color: var(--brand-primary-darker); }
  .site.site-wp-toolkit .site-banner .banner-img {
    max-width: 120%;
    margin-top: var(--spacing-9x); }
  .site.site-wp-toolkit .site-banner .banner-logo {
    max-width: 164px; }
  .site.site-wp-toolkit .site-banner .banner-desc {
    display: flex;
    align-items: center; }
  .site.site-wp-toolkit .site-section .screenshots {
    margin-top: calc(-1 * var(--spacing-3x)); }
    .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb {
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: var(--spacing-1x);
      border: 1px solid var(--gray-lighter-4);
      border-radius: var(--border-radius-sm);
      position: relative;
      margin-top: var(--spacing-3x); }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb > img {
        width: 100%; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity var(--transition-base); }
        .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay > img {
          width: 120px;
          height: 120px; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb:hover .overlay {
        opacity: 1; }
  .site.site-wp-toolkit .site-section img {
    max-width: 100%; }
  @media (min-width: 768px) {
    .site.site-wp-toolkit .site-banner .banner-logo {
      margin-top: calc(-1 * var(--spacing-1x));
      margin-left: var(--spacing-2x); }
    .site.site-wp-toolkit .site-banner .banner-desc {
      margin-top: var(--spacing-1x);
      white-space: nowrap;
      flex-wrap: nowrap; } }

.inherit-section-titles .site .site-section .section-title {
  text-transform: inherit; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3NpdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy9zaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX3NsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19uYXZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX25ld3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fZ2VuZXJhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19wcmljaW5nLXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX2xvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX2Jyb3dzZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fZG9tYWlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL190ZXN0aW1vbmlhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zcGFtZXhwZXJ0cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zaXRlbG9jay5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zc2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9wYWdlcy9fdnBuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX3NvY2lhbGJlZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19tYXJrZXRnb28uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9wYWdlcy9fc2l0ZS1idWlsZGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUZBO0FBR0E7QUNyRkE7RUFDSSxxQ0FBcUM7RUFDckMseUNBQXlDO0VBQ3pDLHlDQUF5QztFQUN6QyxjQUFjO0VDUGxCOzs7O0NDV0M7RUQyQkQ7Ozs7Q0N0QkM7RURzR0Q7Ozs7Q0NqR0M7RURzSEQ7Ozs7Q0NqSEM7RUR5S0Q7Ozs7Q0NwS0M7RURpU0Q7Ozs7Q0M1UkM7RURtVEQ7Ozs7Q0M5U0M7RURvVkQ7Ozs7Q0MvVUM7RUM5Q0Q7RUFrRUE7RUNsRUE7RUE2Q0E7RUFRQTtFQ3JEQTs7OztDSHdEQyxFR3BEQztFTERGOzs7SUFRUSx5Q0FBeUM7RUFSakQ7SU1GSSxhQUFhO0lBQ2IsbUJBQW1CO0VOQ3ZCOztJTUdFLGdDQUFnQztFTkhsQztJTU1JLHFDQUFxQztFTk56QztJTVNJLGlCQUFpQjtFQ2dEZjtJUHpETjtNTWFRLGNBQWMsSUFDakI7RUFFTDtJTmhCQTtNTWtCUSxjQUFjLElBQ2pCO0VBRTBCO0lOckIvQjtNTXlCZ0IsbUJBQW1CLElBQ3RCO0VOMUJiO0lNZ0NJLDRCQUE0QjtFTmhDaEM7SUNJSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFNBQVM7SUFDVCx3Q0FBd0M7SUFDeEMsa0NBQWtDO0lEUnRDO01DVVEsc0NBQXNDO0lEVjlDO01DZVksV0FBVztJRGZ2Qjs7OztNQ3VCWSx5Q0FBeUM7SUR2QnJEOztNQzJCWSx1Q0FBdUM7SUQz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QjtFckJ6Q3ZDO0lxQitDNEIsa0NBQWtDO0VyQi9DOUQ7SXFCMkRZLGVBQWU7SUFDZiw2QkFBNkI7RXJCNUR6QztJcUIrRFksZ0JBQWdCO0VyQi9ENUI7SXFCa0VZLGFBQWE7SUFDYixtQkFBbUI7RXJCbkUvQjtJcUJ3RVksd0NBQXdDO0lyQnhFcEQ7TXFCMEVnQixrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHVCQUF1QjtNQUN2QixtQkFBbUI7TUFDbkIsMEJBQTBCO01BQzFCLHVDQUF1QztNQUN2QyxzQ0FBc0M7TUFDdEMsa0JBQWtCO01BQ2xCLDZCQUE2QjtNckJsRjdDO1FxQm9Gb0IsV0FBVztNckJwRi9CO1FxQnVGb0Isa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQ0FBMEM7UXJCNUY5RDtVcUI4RndCLFlBQVk7VUFDWixhQUFhO01yQi9GckM7UXFCb0d3QixVQUFVO0VyQnBHbEM7SXFCMEdZLGVBQWU7RWRqRHJCO0lQekROO01xQmtIZ0Isd0NBQXdDO01BRXBDLDhCQUE4QjtJckJwSGxEO01xQjJIZ0IsNkJBQTZCO01BQzdCLG1CQUFtQjtNQUNuQixpQkFBaUIsSUFDcEI7O0FyQjNGYjtFQUdZLHVCQUF1QiIsImZpbGUiOiJsYWdvbTIvYXNzZXRzL2Nzcy9zaXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRpc3J0bDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzdHlsZTogJ2RlZmF1bHQnICFkZWZhdWx0OyAvLyBkZWZhdWx0LCBkZXB0aCwgbW9kZXJuLCBmdXR1cmlzdGljLCBpbnRlZ3JhdGlvblxyXG5cclxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2U7XHJcblxyXG4vLz09IENvbG9yc1xyXG5AZnVuY3Rpb24gdigkdmFyLCAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHRAaWYoJGZhbGxiYWNrKSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0sICN7JGZhbGxiYWNrfSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0pOyBcclxuXHR9XHJcbn1cclxuXHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgO1xyXG5cclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDBweCwgXHJcbiAgc206IDQ4MHB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEzMjBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG4gIHNtOiA1NDBweCxcclxuICBtZDogMTAwJSxcclxuICBsZzogMTAwJSxcclxuICB4bDogMTI4OHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXHJcbiRzaXplczogKCkgIWRlZmF1bHQ7XHJcbiRzaXplczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDI1OiAyNSUsXHJcbiAgICA1MDogNTAlLFxyXG4gICAgNzU6IDc1JSxcclxuICAgIDEwMDogMTAwJSxcclxuICAgIGF1dG86IGF1dG9cclxuICApLFxyXG4gICRzaXplc1xyXG4pO1xyXG5cclxuLy8gU3BhY2luZ1xyXG4vL1xyXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXHJcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cclxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAwOiAwLFxyXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxyXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXHJcbiAgICAzOiAkc3BhY2VyLFxyXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxyXG4gICAgNTogKCRzcGFjZXIgKiAzKVxyXG4gICksXHJcbiAgJHNwYWNlcnNcclxuKTtcclxuXHJcbi8vIE5lZWRlZCBmb3IgcmVkKCksIGdyZWVuKCksIGJsdWUoKSBmdW5jdGlvbnMgaW4gYm9vdHJzdHJhcC9fZnVuY3Rpb25zLnNjc3MgJ2NvbG9yLXlpcScgZnVuY3Rpb25cclxuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjMzZDMDU1ICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICNkOTI2MzIgIWRlZmF1bHQ7XHJcblxyXG4vKiBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS4gKi9cclxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogICAgICAgICAgICAgICAgICAgICAxNTA7XHJcblxyXG4vKiBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi4gKi9cclxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMjEyNTI5O1xyXG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XHJcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJ2YWxpZFwiOiAoXHJcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXHJcbiAgICAgIFwiaWNvblwiOiB2YXIoLS1mb3JtLWZlZWRiYWNrLWljb24tdmFsaWQpXHJcbiAgICApLFxyXG4gICAgXCJpbnZhbGlkXCI6IChcclxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxyXG4gICAgICBcImljb25cIjogdmFyKC0tZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQpXHJcbiAgICApLFxyXG4gICksXHJcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcclxuKTtcclxuXHJcbi8vPT0gR3JpZCBzeXN0ZW1cclxuXHJcbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMjtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDI0cHggIWRlZmF1bHQ7XHJcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICA2ICFkZWZhdWx0O1xyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgOTkycHg7XHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcblxyXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XHJcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcclxuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XHJcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDsiLCJAaW1wb3J0ICcuLi9oZWxwZXJzL2Z1bmN0aW9ucy5zY3NzJztcclxuQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLnNpdGUge1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1mb250LXdlaWdodCk7XHJcbiAgICBvdmVyZmxvdzogY2xpcDsgLy9oaWRlIG92ZXJmbG93IGVsZW1lbnRzIGZvciBsZWZ0IG5hdmlnYXRpb24gaW4gZnV0dXJzaXRpYyBzdHlsZVxyXG4gICAgcCxcclxuICAgIHVsLFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctc20pO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbXBvcnQgJ21peGlucy5zY3NzJztcclxuXHJcbiAgICBAaW1wb3J0ICdnZW5lcmFsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2VjdGlvbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhbmVsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2xpZGVyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnYnV0dG9ucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25hdnMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwcmljaW5nLXRhYmxlLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnbG9nb3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdicm93c2VyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnZG9tYWlucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25ld3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICd0ZXN0aW1vbmlhbC5zY3NzJztcclxuICAgIFxyXG4gICAgQGltcG9ydCAncGFnZXMvc3BhbWV4cGVydHMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwYWdlcy9zaXRlbG9jay5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NzbC5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3Zwbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NvY2lhbGJlZS5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL21hcmtldGdvby5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NpdGUtYnVpbGRlci5zY3NzJztcclxufVxyXG5cclxuLmluaGVyaXQtc2VjdGlvbi10aXRsZXMgLnNpdGV7XHJcbiAgICAuc2l0ZS1zZWN0aW9ue1xyXG4gICAgICAgIC5zZWN0aW9uLXRpdGxle1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEdlbmVyYWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdikgMDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNpdGUtc2VjdGlvbi1iZyk7XHJcbiAgICAmICsgLnNpdGUtc2VjdGlvbjpub3QoLnNlY3Rpb24tc2Vjb25kYXJ5KTpub3QoLnNlY3Rpb24tcHJpbWFyeSkgIHtcclxuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tYm9yZGVyKTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1zbGlkZXItYnRuLFxyXG4gICAgJi5zZWN0aW9uLXN0ZXBzIHtcclxuICAgICAgICArIC5zaXRlLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tc2lkZXMsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLXNpZGVzLCAgICAgICAgXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tcGFkZGluZy12KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgID4gLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuICAgIC5zaG93LWFsbC1idG4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBUaXRsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHtcclxuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiLFxyXG4gICAgICAgIHN0cm9uZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICArIC5zZWN0aW9uLXN1YnRpdGxlIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAodmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC0gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXN1YnRpdGxlLXNwYWNpbmcpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1ib3R0b217XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG8gMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAuc2VjdGlvbi10aXRsZSxcclxuICAgICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAgdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLW5vcmR2cG4ge1xyXG4gICAgICAgICAgICAuc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTR4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtc3VidGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gQWN0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHsgICAgXHJcbiAgICAuc2VjdGlvbi1hY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZyk7O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuYnRuICsgLmJ0biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIERlc2NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAuc2VjdGlvbi1kZXNjIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVjay1saXN0IHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTtcclxuICAgICAgICAgICAgICAgIC5sbS1jaGVjayB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+IGgzLFxyXG4gICAgICAgICYgPiAuaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWgzLW1hcmdpbi10b3ApO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWgzLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gaDQsXHJcbiAgICAgICAgJiA+IC5oNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDQtbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWFydGljbGUtaDQtbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgPiBoNSxcclxuICAgICAgICAmID4gLmg1IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tYXJ0aWNsZS1oNS1tYXJnaW4tdG9wKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNS1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc2lkZXMge1xyXG4gICAgICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgICAgICAudGV4dC1kZWZhdWx0e1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gR3JhcGhpY1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHtcclxuICAgIC5zZWN0aW9uLWdyYXBoaWMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLmdyYXBoaWMgPiBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24taGVpZ2h0KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQtc20pO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgtc20pOyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb21vLXNsaWRlci1pY29ue1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIC8vIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLXdpZHRoLXNtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc3ZnLW1hcmtldGdvb3tcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaG93U2xpZGVySWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjMycztcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICYucHJvbW8tc2xpZGVyLWljb24tcmV2ZXJzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29uc1JldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTogMC43MnN9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe2FuaW1hdGlvbi1kZWxheTogMC42NHN9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpe2FuaW1hdGlvbi1kZWxheTogMC41NnN9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpe2FuaW1hdGlvbi1kZWxheTogMC43MnN9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5OiAwLjY0c31cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6IDAuNTZzfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtY3VzdG9tIHtcclxuICAgICAgICAgICAgLnN2Zy1ncmFwaGljLXN0cm9rZS1wIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFiLWNvbnRlbnQtY3BhbmVsc2Vve1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOHgpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc2lkZXMgeyAgICAgICBcclxuICAgICAgICAuc2VjdGlvbi1ncmFwaGljIHsgXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCAobGcpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZykgLyAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLm9yZGVyLWxhc3QgeyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAgICAgLnRhYi1jb250ZW50LWNwYW5lbHNlb3tcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00eCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWItcGFuZS1jcGFuZWxzZW97XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLXNpZGVze1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50e1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tZ3JhcGhpY3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWdyYXBoaWMgKyAuc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmxhZ29tLWRlZmF1bHR7XHJcbiAgICAuc2l0ZS1zZWN0aW9ue1xyXG4gICAgICAgIC5zZWN0aW9uLWdyYXBoaWMge1xyXG4gICAgICAgICAgICAmLWlsbHVzdHJhdGlvbntcclxuICAgICAgICAgICAgICAgIC5wcm9tby1zbGlkZXItaWNvbntcclxuICAgICAgICAgICAgICAgICAgICAmLnN2Zy1tYXJrZXRnb297XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdmctYnJvd3Nlci1ib2R5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3ZnLWdyYXBocy1iZywgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdmctcGhvbmUtYmd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1ncmF5LWZhZGVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBDb250ZW50XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCAobGcpIHtcclxuICAgICAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgICAgID4gLnNlY3Rpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChtZCkge1xyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIFNpZGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCAobGcpIHtcclxuICAgICAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgID4gKiArICoge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50LFxyXG4gICAgICAgICAgICAuc2VjdGlvbi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgICYub3JkZXItbGFzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIC5vcmRlci1maXJzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIFN0eWxlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uLnNlY3Rpb24tc2Vjb25kYXJ5LFxyXG4uc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSB7XHJcbiAgICAuc3ZnLWljb24ge1xyXG4gICAgICAgIC5vdXRsaW5lIHtcclxuICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1zdmctaWNvbi1vbi1kYXJrLWNvbG9yLXNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2thZ2V7XHJcbiAgICAgICAgLnN2Zy1pY29uIHtcclxuICAgICAgICAgICAgLm91dGxpbmV7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWdyYXktZGFya2VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icm93c2VyLW5vdGljZSB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2l0ZS1zZWN0aW9uLnNlY3Rpb24tc2Vjb25kYXJ5IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1ibG9jay1iZyk7XHJcbiAgICAuc2VjdGlvbi10aXRsZSxcclxuICAgIC5zZWN0aW9uLXRpdGxlIHN0cm9uZyxcclxuICAgIC5zZWN0aW9uLXRpdGxlIGIge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stc3VidGl0bGUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tZGVzYyB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xyXG4gICAgICAgIC5mZWF0dXJlLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWF0dXJlLWRlc2Mge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRleHQtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJsb2NrLWJnKTtcclxuICAgIC5zZWN0aW9uLXRpdGxlLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgc3Ryb25nLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgYiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRleHQtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLmZlYXR1cmUtY29udGVudCB7XHJcbiAgICAgICAgLmZlYXR1cmUtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWF0dXJlLWRlc2Mge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChzbSkge1xyXG4gICAgLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAuYnJvd3NlcixcclxuICAgICAgICAgICAgLmdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYuc2l0ZS14b3Zpbm93IHtcclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzNjZweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LiAqL1xuLyogQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uICovXG4uc2l0ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xuICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtd2VpZ2h0KTtcbiAgb3ZlcmZsb3c6IGNsaXA7XG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gR2VuZXJhbFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gVGl0bGVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEFjdGlvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIERlc2NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEdyYXBoaWNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIENvbnRlbnRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIFNpZGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cbiAgLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBTdHlsZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKiBDb2RlR3VhcmQgU2xpZGVyIEJveCAqL1xuICAvKiBDb2RlR3VhcmQgU2xpZGVyICovXG4gIC8qIG1haW4tc3VibmF2ICovXG4gIC8qIHRhYnMtZmlsdGVycyAqL1xuICAvKiBuYXYtdGFiICovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBOZXdzIEJveFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovIH1cbiAgLnNpdGUgcCxcbiAgLnNpdGUgdWwsXG4gIC5zaXRlIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTsgfVxuICAuc2l0ZSAuZC1mbGV4LWFsaWduIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpdGUgYixcbiAgLnNpdGUgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTsgfVxuICAuc2l0ZSAuaGFzLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LWxnKTsgfVxuICAuc2l0ZSAubS1zYWZhcmkge1xuICAgIG1hcmdpbjogMHB4IC0uM3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlIC5yb3cuZi1mbG93IHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NXB4KSB7XG4gICAgLnNpdGUgLmhvbWVwYWdlLXRpbGVzIHtcbiAgICAgIGZsZXgtZmxvdzogcm93OyB9IH1cbiAgQHN1cHBvcnRzICgtd2Via2l0LWh5cGhlbnM6IG5vbmUpIHtcbiAgICAuc2l0ZSAuaG9tZXBhZ2UtdGlsZXMucm93OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgLnNpdGUgLnRleHQtc3RhcnQge1xuICAgIHRleHQtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpIDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2l0ZS1zZWN0aW9uLWJnKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gKyAuc2l0ZS1zZWN0aW9uOm5vdCguc2VjdGlvbi1zZWNvbmRhcnkpOm5vdCguc2VjdGlvbi1wcmltYXJ5KSB7XG4gICAgICBib3JkZXItdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tYm9yZGVyKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zbGlkZXItYnRuICsgLnNpdGUtc2VjdGlvbiwgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXN0ZXBzICsgLnNpdGUtc2VjdGlvbiB7XG4gICAgICBib3JkZXI6IDBweDsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gPiAuY29udGFpbmVyID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tc2lkZXMsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLXNpZGVzLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gPiAuY29udGFpbmVyID4gLnNlY3Rpb24tc2lkZXMgKyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1ncmFwaGljICsgLnNlY3Rpb24tY29udGVudCxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uID4gLmNvbnRhaW5lciA+IC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNob3ctYWxsLWJ0biB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXgtd2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1mb250LXdlaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1saW5lLWhlaWdodCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi10aXRsZS1zbSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1mb250LXNpemUpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1mb250LXdlaWdodCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWxpbmUtaGVpZ2h0KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUgYixcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHN0cm9uZyB7XG4gICAgICBjb2xvcjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUgKyAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogKHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSAtIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zdWJ0aXRsZS1zcGFjaW5nKSkpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XG4gICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWxpbmUtaGVpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXN1YnRpdGxlLWJvdHRvbSB7XG4gICAgICBtYXJnaW46IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSBhdXRvIDAgYXV0bzsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXRpdGxlLFxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tbWFyZ2luLWJvdHRvbSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcy1ub3JkdnBuIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTR4KTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzLW5vcmR2cG4gLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMtbm9yZHZwbiAuc2VjdGlvbi1kZXNjIHAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNHgpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMtbm9yZHZwbiAuc2VjdGlvbi1ncmFwaGljIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1hY3Rpb25zIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2MgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjIC5jaGVjay1saXN0IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwcHg7IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyAuY2hlY2stbGlzdCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTsgfVxuICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2MgLmNoZWNrLWxpc3QgbGkgLmxtLWNoZWNrIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGgzLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oMyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWgzLW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oMy1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGg0LFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oNCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg0LW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IGg1LFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+IC5oNSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi10b3ApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNS1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZGVzYyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZGVzYyAudGV4dC1kZWZhdWx0IHtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYyAuZ3JhcGhpYyA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIHtcbiAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIHtcbiAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24taGVpZ2h0LXNtKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi13aWR0aC1zbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiBzdmcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgpOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLXdpZHRoLXNtKTsgfSB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29ucztcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMzJzO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vLnByb21vLXNsaWRlci1pY29uLXJldmVyc2Uge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29uc1JldmVyc2U7IH1cbiAgICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ucHJvbW8tc2xpZGVyLWljb24tcmV2ZXJzZTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNzJzOyB9XG4gICAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vLnByb21vLXNsaWRlci1pY29uLXJldmVyc2U6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjY0czsgfVxuICAgICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvby5wcm9tby1zbGlkZXItaWNvbi1yZXZlcnNlOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41NnM7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNzJzOyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbzpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjY0czsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb286bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC41NnM7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtY3VzdG9tIC5zdmctZ3JhcGhpYy1zdHJva2UtcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1jb250ZW50LWNwYW5lbHNlbyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04eCk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgICAgIG1pbi13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZykgLyAyKTsgfSB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljLm9yZGVyLWxhc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC50YWItY29udGVudC1jcGFuZWxzZW8ge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00eCk7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC50YWItcGFuZS1jcGFuZWxzZW8gLnNlY3Rpb24tc2lkZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1wYW5lLWNwYW5lbHNlbyAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1wYW5lLWNwYW5lbHNlbyAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMgKyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9IH1cbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLWJyb3dzZXItYm9keSxcbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLWdyYXBocy1iZyxcbiAgLnNpdGUgLmxhZ29tLWRlZmF1bHQgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyAuc3ZnLXBob25lLWJnIHtcbiAgICBmaWxsOiB2YXIoLS1ncmF5LWZhZGVkKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzID4gLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzID4gKiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWNvbnRlbnQub3JkZXItbGFzdCArIC5vcmRlci1maXJzdCxcbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYy5vcmRlci1sYXN0ICsgLm9yZGVyLWZpcnN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1zdmctaWNvbi1vbi1kYXJrLWNvbG9yLXNlY29uZGFyeSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAucGFja2FnZSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5wYWNrYWdlIC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1ncmF5LWRhcmtlcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuYnJvd3Nlci1ub3RpY2UgcCxcbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLmJyb3dzZXItbm90aWNlIHAge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1ibG9jay1iZyk7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tc2Vjb25kYXJ5IC5zZWN0aW9uLXRpdGxlLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tdGl0bGUgc3Ryb25nLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tdGl0bGUgYiB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay1zdWJ0aXRsZS1jb2xvcik7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tc2Vjb25kYXJ5IC5zZWN0aW9uLWRlc2Mge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLmZlYXR1cmUtY29udGVudCAuZmVhdHVyZS10aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLmZlYXR1cmUtY29udGVudCAuZmVhdHVyZS1kZXNjIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGV4dC1jb2xvcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmxvY2stYmcpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLnNlY3Rpb24tdGl0bGUsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLnNlY3Rpb24tdGl0bGUgc3Ryb25nLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXRpdGxlIGIge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stc3VidGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLnNlY3Rpb24tZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5mZWF0dXJlLWNvbnRlbnQgLmZlYXR1cmUtdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLmZlYXR1cmUtY29udGVudCAuZmVhdHVyZS1kZXNjIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRleHQtY29sb3IpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSk7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMgLmJyb3dzZXIsXG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMgLmdyYXBoaWMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5zaXRlLnNpdGUteG92aW5vdyAuc2VjdGlvbi1zaWRlcyB7XG4gICAgbWF4LWhlaWdodDogMzY2cHg7IH1cbiAgLnNpdGUgLnBhbmVsLWZhcSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbCB7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwtYm9keSwgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwtaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwtYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWxpbmUtaGVpZ2h0KTsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1oNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oNSk7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWw6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsOmhvdmVyLCAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC5pcy1vcGVuIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYW5lbC1ib3JkZXItZGl2aWRlci1jb2xvcikgIWltcG9ydGFudDsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwtYWNjb3JkaW9uIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgzMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvZHkge1xuICAgICAgcGFkZGluZzogNDhweCA1NnB4OyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZy10b3A6IDU0cHg7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktaXRlbTpub3QoOmxhc3Qtb2YtdHlwZSk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktbGFiZWwge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpY2UtZm9udC1zaXplLWNvbG9yKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQteHMtZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC14cy1saW5lLWhlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXByaWNlLWZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1wcmljZS1saW5lLWhlaWdodCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wcmljZS1mb250LXdlaWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmljZS1jb2xvcik7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5IC5wcmljZS1jeWNsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIGZvcm0gKyBmb3JtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7IH1cbiAgLnNpdGUgLnNsaWRlciAuaXJzLXNpbmdsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaXRlIC5zbGlkZXItYWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cbiAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWJ0biB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWluLXdpZHRoOiA2OHB4O1xuICAgICAgaGVpZ2h0OiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1oZWlnaHQpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1yYWRpdXMpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtc20tZm9udC1zaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtc20tbGluZS1oZWlnaHQpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTsgfVxuICAgICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWJ0bjpob3ZlciwgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1idG4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLXJhZGl1cyk7IH1cbiAgICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1idG4uYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXVpLWxpbmstYWN0aXZlLWNvbG9yKTsgfVxuICAuc2l0ZS1pbmRleCAuc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib3R0b20uaGFzLWN1cnJlbmN5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvdHRvbS5oYXMtY3VycmVuY3kgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm90dG9tIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvdHRvbS5oYXMtY3VycmVuY3kgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMgZm9ybSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKG1heC13aWR0aDogNzY3cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICBmbGV4OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyBmb3JtIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMgLmJ0biB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIChtYXgtd2lkdGg6IDU3NXB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGZsZXg6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIGZvcm0gKyBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDAgMDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LWl0ZW0ge1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnkgLnByaWNlLXByZWZpeCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnkgLnByaWNlLWN5Y2xlIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnNpdGUgLnNob3ctYWxsLWJ0biB7XG4gICAgbWFyZ2luOiAyNHB4IDBweCAwcHggMHB4OyB9XG4gICAgLnNpdGUgLnNob3ctYWxsLWJ0biAuc2hvdy1hbGwge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7IH1cbiAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKTsgfVxuICAgIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWhlaWdodC1iYXNlKTsgfVxuICAgICAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWhlaWdodC1iYXNlKSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYmcpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYm9yZGVyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpOyB9XG4gICAgICAgIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1iZyk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXIpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctYmFzZSk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWNvbG9yKTsgfVxuICAgICAgICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuICsgLmJ0biB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAuc2l0ZSAuc2VjdGlvbi10aXRsZSArIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC8gLTIpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwLFxuICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1saWdodC1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7IH1cbiAgICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4sXG4gICAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1saWdodC1jb2xvcik7IH1cbiAgICAgIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLXZpc2libGUsXG4gICAgICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlcixcbiAgICAgIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLFxuICAgICAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJvcmRlcik7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctYmFzZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1jb2xvcik7IH1cbiAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi10b2dnbGUsXG4gIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWNvbG9yKTtcbiAgICBtaW4td2lkdGg6IHZhcigtLWRyb3Bkb3duLW1pbi13aWR0aCk7IH1cbiAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi1pdGVtLFxuICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24taXRlbSB7XG4gICAgZmxleDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBwYWRkaW5nIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7IH1cbiAgICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLFxuICAgIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7IH1cbiAgLnNpdGUgLnNpdGUtc3VibmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdiB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLW5hdi1saW5rLXBhZGRpbmctaCkpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tbmF2LWxpbmstcGFkZGluZy1oKSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIC5uYXZiYXItbmF2IGxpIGEge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgfVxuICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci10b2dnbGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1pY29uLWNvbG9yKTsgfVxuICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cbiAgLnNpdGUgLnNzbC1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnNpdGUgLnRhYnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlIC50YWJzIC5uYXYtdGFicyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5zaXRlIC50YWJzIC5uYXYtdGFiczphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LWxpZ2h0ZXItNCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFuZWwtcGFja2FnZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFuZWwtcGFja2FnZSB1bCBsaSAubG0tY2hlY2sge1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnBhbmVsLXBhY2thZ2UgdWwgbGkucHJpY2Uge1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTsgfVxuICAgIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFuZWwtcGFja2FnZSBmb3JtIHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7IH1cbiAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5zaWRlYmFyIC5oZWFkZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAuc2lkZWJhciB1bCBsaSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpOyB9XG4gIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFja2FnZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFja2FnZS1oZWFkZXIgaDQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpOyB9XG4gIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSB1bCBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAuc2l0ZSAubG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAuc2l0ZSAubG9nb3MgLmxvZ28ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7IH1cbiAgICAgIC5zaXRlIC5sb2dvcyAubG9nbyA+IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc2l0ZSAuYnJvd3NlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXN2Zy1ncmFwaGljLXNoYWRvdyk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci10b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLXRvcDpub3QoLmJyb3dzZXItdG9wLXRyYW5zcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItdG9wKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItYWN0aW9ucyA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1icm93c2VyLWFjdGlvbnMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItYm9keSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1zbSB7XG4gICAgICB3aWR0aDogNDQ2cHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLXNtIC5icm93c2VyLXRvcCB7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTF4KTsgfVxuICAgIC5zaXRlIC5icm93c2VyLW1kIHtcbiAgICAgIHdpZHRoOiA1NjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAuc2l0ZSAuYnJvd3NlciAuc3ZnLWdyYXBoaWMge1xuICAgICAgICBoZWlnaHQ6IDMxNHB4OyB9IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1nb29nbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1nb29nbGUgPiBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1nb29nbGUgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWdvb2dsZSAucXVvdGUge1xuICAgICAgICB0b3A6IC0xMy41cHg7XG4gICAgICAgIHJpZ2h0OiAyOHB4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1nb29nbGUgLnB1enpsZSB7XG4gICAgICAgIGJvdHRvbTogLTE5cHg7XG4gICAgICAgIHJpZ2h0OiAtMTlweDsgfVxuICAuc2l0ZSAuYnJvd3Nlci1zc2wge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItc3NsIC5icm93c2VyLWJvZHkge1xuICAgICAgaGVpZ2h0OiA0NDBweDsgfVxuICAuc2l0ZSAuYnJvd3Nlci1sZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MzJweDtcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzLWxnKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLXRvcCB7XG4gICAgICBwYWRkaW5nOiAycHggMCAxMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWFjdGlvbnMgPiBzcGFuIHtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTF4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci1hY3Rpb25zKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLXNlYXJjaGJhciB7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWZhZGVkKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItYm9keSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItbm90aWNlIHtcbiAgICAgIG1heC13aWR0aDogNDU2cHg7XG4gICAgICBwYWRkaW5nOiAwcHggMTJweDsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItbm90aWNlIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAtNDBweCAwIDQwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2l0ZSAuYnJvd3Nlci16b29tIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlIC5icm93c2VyLXpvb20gLmJyb3dzZXItaW1nLXpvb20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLXpvb20gLmJyb3dzZXItaW1nLXpvb20sIC5zaXRlIC5icm93c2VyLXpvb20gLmJyb3dzZXItaW1nLXpvb206YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDEsIDAsIDEsIDEpOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtcHJpbWFyeS1ncmFkaWVudC12KTtcbiAgICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tIGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5LWhlYWRpbmctY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDEsIDAsIDEsIDEpOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItem9vbTpob3ZlciAuYnJvd3Nlci1pbWctem9vbSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItem9vbTpob3ZlciAuYnJvd3Nlci1pbWctem9vbSBpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cbiAgLnNpdGUuc2l0ZS1zcGFtZXhwZXJ0cyAuYnJvd3Nlci1zbSB7XG4gICAgaGVpZ2h0OiAyNjZweDsgfVxuICAgIC5zaXRlLnNpdGUtc3BhbWV4cGVydHMgLmJyb3dzZXItc20gLmJyb3dzZXItYm9keSB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuICAuc2l0ZSAuZG9tYWluLXRsZHMge1xuICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXNwYWNpbmcpIDAgMCAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpdGUgLmRvbWFpbi10bGRzID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDsgfVxuICAgIC5zaXRlIC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bGcpOyB9XG4gICAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7IH1cbiAgICAgIC5zaXRlIC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCAudGxkLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgLnNpdGUgLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtbmFtZSA+IHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gICAgLnNpdGUgLmRvbWFpbi10bGRzID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzIC5jb2wtc20sXG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgPiAqIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuc2l0ZSAuZG9tYWluLXRsZHMge1xuICAgICAgbWFyZ2luOiAwIC00cHg7IH1cbiAgICAgIC5zaXRlIC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS1saWdodGVyLTQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgLnNpdGUgLmRvbWFpbi10bGRzID4gKiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCkge1xuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzIC5jb2wtc20sXG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1uYW1lLFxuICAgIC5zaXRlIC5zaXRlLnNpdGUtaW5kZXggLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtcHJpY2Uge1xuICAgICAgZmxleC1iYXNpczogNTAlOyB9XG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1wcmljZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zaXRlIC5uZXdzLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogdmFyKC0tdWktYmxvY2stYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LWxnKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTsgfVxuICAgIC5zaXRlIC5uZXdzLWJveDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWhvdmVyLWJnKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLThweCwgMCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cteGxnKTsgfVxuICAgICAgLnNpdGUgLm5ld3MtYm94OmhvdmVyIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRpbGUtYm9yZGVyLWNvbG9yLWhvdmVyKTsgfVxuICAgICAgLnNpdGUgLm5ld3MtYm94OmhvdmVyIC5uZXdzLWFjdGlvbnMgPiBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxpbmstaG92ZXItY29sb3IpOyB9XG4gICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWJvZHkge1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDE2cHggMjBweCAyMHB4IDI0cHg7IH1cbiAgICAuc2l0ZSAubmV3cy1ib3ggLm5ld3MtZGF0ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodGVyLWNvbG9yKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTsgfVxuICAgICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWRhdGUgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stc3BhY2luZy14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS11aS1pY29uLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1kZXNjIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGdnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bGdnKTtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gICAgICAuc2l0ZSAubmV3cy1ib3ggLm5ld3MtZGVzYyBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWFjdGlvbnMge1xuICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xeCkgdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pOyB9XG4gIC5zaXRlIC5jb250ZW50LXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW0taW1nIGltZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctbGcpO1xuICAgICAgICB3aWR0aDogNzY4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgICAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW0taW1nIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNjY0cHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgICAuc2l0ZSAuY29udGVudC1zbGlkZXItaXRlbS1pbWcgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTF4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtLWltZyBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDMwNXB4OyB9IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgYm9yZGVyOiB2YXIoLS11aS1ibG9jay1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdyk7XG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuc2l0ZSAudGVzdGltb25pYWxzLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgLnNpdGUgLnRlc3RpbW9uaWFscy1kZXNjID4gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMtZGVzYyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTsgfVxuICAuc2l0ZSAudGVzdGltb25pYWxzLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtc20tbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1hdmF0YXIge1xuICAgIG1hcmdpbi1yaWdodDogMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMtYXZhdGFyIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgLnNpdGUgLnRlc3RpbW9uaWFscy1hdmF0YXIgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgcmlnaHQ6IC0xNnB4OyB9XG4gIC5zaXRlIC50ZXN0aW1vbmlhbHMtYXV0aG9yID4gc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnRlc3RpbW9uaWFscy5yb3cgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9IH1cbiAgLnNpdGUgLnNsaWRlciAudGVzdGltb25pYWxzLWl0ZW0ge1xuICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgbWFyZ2luOiAwcHggMTJweDsgfVxuICAuc2l0ZSAuY2hlY2stZmVhdHVyZXMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHhsZyk7IH1cbiAgICAuc2l0ZSAuY2hlY2stZmVhdHVyZXMgPiAqIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gICAgLnNpdGUgLmNoZWNrLWZlYXR1cmVzIC5sbS1jaGVjayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGFja2FnZS1iZyk7XG4gICAgYm9yZGVyOiB2YXIoLS1wYWNrYWdlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGFja2FnZS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1wYWNrYWdlLWJsb2NrLXNoYWRvdyk7XG4gICAgcGFkZGluZzogdmFyKC0tcGFja2FnZS1wYWRkaW5nKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQtY29udGVudCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuYWRkaXRpb25hbC1vcHRpb25zIC5vcHRpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5wcmljZTpub3QoOm50aC1jaGlsZCgzKSkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb3RuLXNpemUtbWQpOyB9XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuLmFjdGl2ZSBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuLmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gICAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUgc3BhbiBpIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4gLnN2Zy1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0biB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3Qge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5Ljk4cHgpIHtcbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLnNpdGUgLmVtZXJnZW5jeS1wcm9tbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmcteGxnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteGxnKTsgfVxuICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tdGl0bGUgaDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUgLmVtZXJnZW5jeS1wcm9tby1iYW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH1cbiAgICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tYmFubmVyIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8ge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgLnNpdGUgLmVtZXJnZW5jeS1wcm9tby10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICByaWdodDogMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tdGl0bGUgaDMge1xuICAgICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLXRpdGxlIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14bGcpOyB9IH1cbiAgLnNpdGUgLnNlY3Rpb24tc3NsLXVwZ3JhZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLnNpdGUgLnNlY3Rpb24tc3NsLXVwZ3JhZGUgLmJyb3dzZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLnNpdGUgLnNlY3Rpb24tc3NsLXVwZ3JhZGUgLmJyb3dzZXItdG9wIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnNpdGUgLnNzbC11cGdyYWRlIHtcbiAgICBtYXJnaW4tdG9wOiAtNjRweDtcbiAgICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gICAgLnNpdGUgLnNzbC11cGdyYWRlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XG4gICAgICBmb250LXNpemU6IDI4cHg7IH1cbiAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5LnNlY3Rpb24tc3NsLXVwZ3JhZGUgLnNzbC11cGdyYWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04eCk7IH1cbiAgLnNpdGUgLm1vZGFsLXJlc3VsdHMgLnJlc3VsdC1uZWdhdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgLnNpdGUgLm1vZGFsLXJlc3VsdHMgLnJlc3VsdC1wb3NpdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcy1jb2xvcik7IH1cbiAgLnNpdGUgLm1vZGFsLXJlc3VsdHMgLnJlc3VsdC1jb25jZXJuIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nLWNvbG9yKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmltZy1vdmVybGFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xMDBweDsgfSB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0yIHtcbiAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yIHtcbiAgICBtaW4taGVpZ2h0OiAxLjVyZW07IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpLFxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6Zmlyc3Qtb2YtdHlwZSAuY29sLTI6bm90KDpudGgtb2YtdHlwZSgyKSksXG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bm90KDpudGgtb2YtdHlwZSgyKSkge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSgyKSAuY29sLTI6bnRoLW9mLXR5cGUoMiksXG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bnRoLW9mLXR5cGUoMikpIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSgyKSAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtaW5mby1saWdodGVyLTMpOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0yIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuYnRuLWdldC1kZWFsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYW5nZXIpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbi1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbi1jb250YWluZXIgPiAucm93IHtcbiAgICBtaW4td2lkdGg6IDExMTBweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzaW9uLWltYWdlcyBpbWcge1xuICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnJvdy1jdXN0b20ge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7XG4gICAgICBnYXA6IDI0cHg7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnJvdy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTl4KTsgfVxuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAucm93LWNvbnRlbnQtbGcge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdik7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnJvdy1jb250ZW50LWxnIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTZ4KTsgfSB9XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY29udGVudCAuaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpICFpbXBvcnRhbnQ7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3cgLmNvbC1zbS0xMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5mZWF0dXJlLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zeCk7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmZlYXR1cmUtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnBhY2thZ2VzLWN1c3RvbSAucGFja2FnZSB7XG4gICAgaGVpZ2h0OiBtYXgtY29udGVudDsgfVxuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAucGFja2FnZXMtY3VzdG9tIC5wYWNrYWdlLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuc2l0ZSAuaWNvbnMtbmV0d29yayB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgICAuc2l0ZSAuaWNvbnMtbmV0d29yayAuY29udGVudC1zbGlkZXItd3JhcHBlciB7XG4gICAgICBnYXA6IDQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnNlY3Rpb24tY29udGVudC1jdXN0b20gLnJvdy1jdXN0b206bnRoLW9mLXR5cGUoMikge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuaWNvbnMtbmV0d29yayAuY29udGVudC1zbGlkZXItd3JhcHBlciB7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTI0OHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2hlYWRlci1yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS1saWdodGVyLTQpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19jZWxsIHtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5LWNvbG9yKTsgfVxuICAgICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2NlbGwucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwucHJpY2luZy10YWJsZV9fZmVhdHVyZS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpOyB9XG4gICAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fY2VsbC5wcmljaW5nLXRhYmxlX19oZWFkZXItY2VsbC5wcmljaW5nLXRhYmxlX19wbGFuLWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19oZWFkZXItY2VsbCB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDA7IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19yb3c6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5LWxpZ2h0ZXItNCk7IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fcm93LWFjdGlvbnMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50OyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtbmFtZSB7XG4gICAgICBmbGV4OiAxLjU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fZmVhdHVyZS1oZWFkZXIge1xuICAgICAgZmxleDogMS41OyB9XG4gIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zZWN0aW9uLXZpZGVvIC5lbWJlZC1yZXNwb25zaXZlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzUlO1xuICAgIG1heC13aWR0aDogNzAycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNpdGUtYmFubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5MnB4OyB9XG4gICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tc3RlcHMge1xuICAgICAgbWFyZ2luLXRvcDogLTkycHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2VjdGlvbi1zdGVwcyArIC5zaXRlLXNlY3Rpb24ge1xuICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2VjdGlvbi12aWRlbyAuZW1iZWQtcmVzcG9uc2l2ZSB7XG4gICAgICBtYXgtd2lkdGg6IDQzNHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1NHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1OXB4KSB7XG4gICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tdmlkZW8gLmVtYmVkLXJlc3BvbnNpdmUge1xuICAgICAgbWF4LXdpZHRoOiAzMjhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOTRweDsgfVxuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zbGlkZXIgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlIC5zbGlkZXIgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDI0cHggIWltcG9ydGFudDsgfSB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5uYXYubmF2LXRhYnMgbGkgYS5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5yb3cgKyAucm93IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTl4KTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgYSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHZhcigtLXByZXZpZXdzLWltZy1oZWlnaHQpO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IHRvcDsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgLnR5cGUtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC50cGxuYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0ZXIpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAudGh1bWItd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3cteGxnKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAuc2hvdy1tb3JlLWJ0biB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTh4KSBhdXRvIDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC5zaG93LW1vcmUtaXRlbSBhOmZvY3VzLXZpc2libGUgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnktZGFya2VyKTsgfVxuICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtYmFubmVyIC5iYW5uZXItaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMCU7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLWJhbm5lciAuYmFubmVyLWxvZ28ge1xuICAgIG1heC13aWR0aDogMTY0cHg7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLWJhbm5lciAuYmFubmVyLWRlc2Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTN4KSk7IH1cbiAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QtdGh1bWIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS1saWdodGVyLTQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTN4KTsgfVxuICAgICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1zZWN0aW9uIC5zY3JlZW5zaG90cyAuc2NyZWVuc2hvdC10aHVtYiAub3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTsgfVxuICAgICAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QtdGh1bWIgLm92ZXJsYXkgPiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEyMHB4OyB9XG4gICAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QtdGh1bWI6aG92ZXIgLm92ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1zZWN0aW9uIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTF4KSk7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtYmFubmVyIC5iYW5uZXItZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTF4KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi5pbmhlcml0LXNlY3Rpb24tdGl0bGVzIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuIiwiLyogQ29kZUd1YXJkIFNsaWRlciBCb3ggKi9cclxuXHJcbi5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogODMycHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgICYtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogNDhweCA1NnB4O1xyXG4gICAgfVxyXG4gICAgJi1ib3R0b20ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1NHB4O1xyXG4gICAgfVxyXG4gICAgJi1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmljZS1mb250LXNpemUtY29sb3IpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXhzLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXZhbHVlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tcHJpY2UtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcHJpY2UtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpY2UtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY3ljbGV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1hY3Rpb25zIHtcclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZvcm0gKyBmb3JtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDb2RlR3VhcmQgU2xpZGVyICovXHJcblxyXG4uc2xpZGVyIHtcclxuICAgIC5pcnMtc2luZ2xlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XHJcbiAgICAgICAgJi1saXN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBydGx7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idG4ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDY4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtaGVpZ2h0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXNtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtc20tbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYWN0aXZlLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdWktbGluay1hY3RpdmUtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4mLWluZGV4IHtcclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biAobWQpIHtcclxuICAgIC5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICAgICAgJi1ib3R0b20ge1xyXG4gICAgICAgICAgICAmLmhhcy1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAucGFja2FnZS1zbGlkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAucGFja2FnZS1zbGlkZXIge1xyXG4gICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm90dG9tIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICAgICAmLmhhcy1jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgICAgICAucGFja2FnZS1zbGlkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyBcclxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgJi1hY3Rpb25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICAucGFja2FnZS1zbGlkZXIge1xyXG4gICAgICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7IFxyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICBmb3JtK2Zvcm0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgLy9mb250LXNpemU6IG1hcC1nZXQoJHNpdGUtZm9udC1zaXplLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogbWFwLWdldCgkc2l0ZS1saW5lLWhlaWdodCwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgJi1wcmVmaXgge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogbWFwLWdldCgkc2l0ZS1saW5lLWhlaWdodCwgXCJiYXNlXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1jeWNsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRzaXRlLWxpbmUtaGVpZ2h0LCBcImJhc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiBtYWluLXN1Ym5hdiAqL1xyXG5cclxuLnNpdGUtc3VibmF2IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgICAgXHJcbiAgICAubmF2IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLW5hdi1saW5rLXBhZGRpbmctaCkpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLW5hdi1saW5rLXBhZGRpbmctaCkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcclxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICAgICAgJi5jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7ICAgICAgICBcclxuICAgICAgICAubmF2YmFyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgLmljb24tYmFyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVpLWljb24tY29sb3IpO1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHRhYnMtZmlsdGVycyAqL1xyXG5cclxuLnNzbC1maWx0ZXJzIHsgICAgICAgIFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLyogbmF2LXRhYiAqL1xyXG5cclxuLnRhYnMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLm5hdi10YWJzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDs7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktbGlnaHRlci00KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfSAgICBcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgTmV3cyBCb3hcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLm5ld3MtYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm9yZGVyOiB2YXIoLS11aS1ibG9jay1ib3JkZXIpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3ctbGcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSkhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14bGcpO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1ob3Zlci1iZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC04cHgsMCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LXhsZyk7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGlsZS1ib3JkZXItY29sb3ItaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1hY3Rpb25zID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saW5rLWhvdmVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV3cy1ib2R5IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweCAyMHB4IDI0cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5ld3MtZGF0ZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQteHMtZm9udC1zaXplKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQteHMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhzKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXVpLWljb24tY29sb3IpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAubmV3cy1kZXNjIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZ2cpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bGdnKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXdzLWFjdGlvbnMge1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpIHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZC1mbGV4LWFsaWduIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbn1cclxuLmhhcy1zaGFkb3cge1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93LWxnKTsgXHJcbn1cclxuLm0tc2FmYXJpIHtcclxuICAgIG1hcmdpbjogMHB4IC0uM3B4O1xyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC5yb3cuZi1mbG93IHtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdztcclxuICAgIH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNTc1cHgpIHtcclxuICAgIC5ob21lcGFnZS10aWxlcyB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICB9XHJcbn1cclxuQHN1cHBvcnRzICgtd2Via2l0LWh5cGhlbnM6bm9uZSl7XHJcbiAgICAuaG9tZXBhZ2UtdGlsZXMge1xyXG4gICAgICAgICYucm93IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRleHQtc3RhcnQge1xyXG4gICAgdGV4dC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcclxufSIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4gIC8vXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbiAgLy8gICAgNTc2cHhcclxuICBAZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbiAgLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuICAvLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuICAvLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuICAvL1xyXG4gIC8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIDc2Ny45OHB4XHJcbiAgQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cclxuICAvLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuICAvL1xyXG4gIC8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbiAgLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuICAvLyAgICBcIi1zbVwiXHJcbiAgQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuICAvLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgIEBpZiAkbWluIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbiAgQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgICBAaWYgJG1heCB7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuICAvLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuICBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcbiAgXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4gIC8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuICBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIFxyXG4gICAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcclxuICAgICRwcmV2LWtleTogbnVsbDtcclxuICAgICRwcmV2LW51bTogbnVsbDtcclxuICAgIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XHJcbiAgICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XHJcbiAgICAgICAgLy8gRG8gbm90aGluZ1xyXG4gICAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xyXG4gICAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xyXG4gICAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xyXG4gICAgICB9XHJcbiAgICAgICRwcmV2LWtleTogJGtleTtcclxuICAgICAgJHByZXYtbnVtOiAkbnVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLyBTdGFydHMgYXQgemVyb1xyXG4gIC8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXHJcbiAgQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCkge1xyXG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xyXG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcclxuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xyXG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcclxuXHJcbkBtaXhpbiBtYWtlLXJvdygpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XHJcbiAgICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcclxufVxyXG5cclxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XHJcbiAgICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXHJcbiAgICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXHJcbiAgICBwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tdWktZ3V0dGVyLWJhc2UpIC8gMik7XHJcbiAgICBwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS11aS1ndXR0ZXItYmFzZSkgLyAyKTtcclxufVxyXG5cclxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7IC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxyXG4gICAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXHJcbiAgICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cclxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuICAgICRudW06ICRzaXplIC8gJGNvbHVtbnM7XHJcbiAgICBtYXJnaW4tbGVmdDogaWYoJG51bT09MCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXHJcbiAgICAlZ3JpZC1jb2x1bW4ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxyXG4gICAgICBwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tdWktZ3V0dGVyLWJhc2UpIC8gMik7XHJcbiAgICAgIHBhZGRpbmctbGVmdDpjYWxjKHZhcigtLXVpLWd1dHRlci1iYXNlKSAvIDIpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICBcclxuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XHJcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbCN7JGluZml4fSxcclxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xyXG4gICAgICAgIC5jb2wjeyRpbmZpeH0ge1xyXG4gICAgICAgICAgZmxleC1iYXNpczogMDtcclxuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cclxuICBcclxuICAgICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cclxuICBcclxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcclxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcclxuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXHJcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSIsIi5wYW5lbC1mYXEge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAmLXRpdGxle1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keSxcclxuICAgICAgICAmLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAucGFuZWwtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWg1KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJi5pcy1vcGVuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYW5lbC1ib3JkZXItZGl2aWRlci1jb2xvcikhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFjY29yZGlvbntcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLnNob3ctYWxsLWJ0biB7XHJcbiAgICBtYXJnaW46IDI0cHggMHB4IDBweCAwcHg7ICAgICBcclxuICAgIC5zaG93LWFsbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKTtcclxuICAgIC5idG4tZ3JvdXAge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktaGVpZ2h0LWJhc2UpO1xyXG4gICAgICAgID4gLmJ0biB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWhlaWdodC1iYXNlKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1iZyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJvcmRlcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWJnKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktYm9yZGVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctYmFzZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zZWN0aW9uLXRpdGxlICsgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciB7XHJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKSAvIC0yKTtcclxufVxyXG4uc2VjdGlvbi1wcmltYXJ5LFxyXG4uc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciB7XHJcbiAgICAgICAgLmJ0bi1ncm91cCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWJvcmRlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7XHJcbiAgICAgICAgICAgID4gLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJnKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJvcmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1iYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1saWdodC1ib3JkZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWNvbG9yKTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1kcm9wZG93bi1taW4td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZHJvcGRvd24taXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHBhZGRpbmcgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnJvdy1wcmljaW5nLXRhYmxlIHtcclxuICAgIC5wYW5lbC1wYWNrYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiBub25lOyAgICAgICAgXHJcbiAgICAgICAgLnBhY2thZ2UtaGVhZGVye1xyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC5sbS1jaGVjayB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhciB7XHJcbiAgICAgICAgLmhlYWRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwgMC4wNSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrYWdlLWhlYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLmxvZ29zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIC5sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pO1xyXG4gICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5icm93c2VyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zdmctZ3JhcGhpYy1zaGFkb3cpO1xyXG4gICAgJi10b3Age1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTtcclxuICAgICAgICAmOm5vdCguYnJvd3Nlci10b3AtdHJhbnNwYXJlbnQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci10b3ApO1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci1hY3Rpb25zKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vaGVpZ2h0OiAzMTBweDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTtcclxuICAgIH1cclxuICAgICYtc20ge1xyXG4gICAgICAgIHdpZHRoOiA0NDZweDtcclxuICAgICAgICAuYnJvd3Nlci10b3Age1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1tZCB7XHJcbiAgICAgICAgd2lkdGg6IDU2MHB4O1xyXG4gICAgfVxyXG4gICAgLnN2Zy1ncmFwaGljIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyBcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWdvb2dsZXtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgID4gc3Zne1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+ZGl2e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdW90ZXtcclxuICAgICAgICAgICAgdG9wOi0xMy41cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OjI4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wdXp6bGV7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTE5cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTlweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5icm93c2VyLXNzbCB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC5icm93c2VyLWJvZHkge1xyXG4gICAgICAgICBoZWlnaHQ6IDQ0MHB4OyAgIFxyXG4gICAgfVxyXG59XHJcbi5icm93c2VyLWxnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA4MzJweDtcclxuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzLWxnKTtcclxuICAgIC5icm93c2VyLXRvcCB7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMTBweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgIH1cclxuICAgIC5icm93c2VyLWFjdGlvbnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gc3BhbiB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItYWN0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItc2VhcmNoYmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctZmFkZWQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1x0XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH0gIFxyXG4gICAgLmJyb3dzZXItYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItbm90aWNlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1NnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAxMnB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icm93c2VyLWltYWdlIHtcclxuICAgICAgICBtYXJnaW46IC00MHB4IDAgNDBweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLmJyb3dzZXItem9vbSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmJyb3dzZXItaW1nLXpvb20ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAmLFxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDEsIDAsIDEsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtcHJpbWFyeS1ncmFkaWVudC12KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeS1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYnJvd3Nlci1pbWctem9vbSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJi5zaXRlLXNwYW1leHBlcnRzIHtcclxuICAgIC5icm93c2VyLXNtIHtcclxuICAgICAgICBoZWlnaHQ6IDI2NnB4O1xyXG4gICAgICAgIC5icm93c2VyLWJvZHkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5kb21haW4tdGxkcyB7XHJcbiAgICAgbWFyZ2luOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZykgMCAwIDA7XHJcbiAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgJiA+ICoge1xyXG4gICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgIH1cclxuICAgICAuZG9tYWluLXRsZCB7XHJcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGcpO1xyXG4gICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTtcclxuICAgICAgICAgLnRsZC1wcmljZSB7XHJcbiAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xyXG4gICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgLnRsZC1uYW1lIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICA+IHNwYW4geyBcclxuICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgIH1cclxuICAgICAmID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgfVxyXG59IFxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChtZCkge1xyXG4gICAgLnNpdGUuc2l0ZS1pbmRleCB7XHJcbiAgICAgICAgLmRvbWFpbi10bGRzIC5jb2wtc20sXHJcbiAgICAgICAgLmRvbWFpbi10bGRzID4qe1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgLmRvbWFpbi10bGRzIHtcclxuICAgICAgICAgbWFyZ2luOiAwIC00cHg7XHJcbiAgICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xyXG4gICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgLmRvbWFpbi10bGQgeyAgICAgICAgICAgICBcclxuICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS1saWdodGVyLTQpO1xyXG4gICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtZWRpYShtYXgtd2lkdGg6IDUyMHB4KSB7XHJcbiAgICAuZG9tYWluLXRsZHMge1xyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAuc2l0ZS5zaXRlLWluZGV4IHtcclxuICAgICAgICAuZG9tYWluLXRsZHMgLmNvbC1zbSxcclxuICAgICAgICAuZG9tYWluLXRsZHM+KntcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAuZG9tYWluLXRsZHMge1xyXG4gICAgICAgICAgICAuZG9tYWluLXRsZCB7XHJcbiAgICAgICAgICAgICAgICAudGxkLW5hbWUsXHJcbiAgICAgICAgICAgICAgICAudGxkLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudGxkLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jb250ZW50LXNsaWRlciB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICYtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICYtaXRlbSB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbWd7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctbGcpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDc2OHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSAgICBcclxuLnRlc3RpbW9uaWFscyB7XHJcbiAgICAmLWl0ZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLXVpLWJsb2NrLWJvcmRlcik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93KTtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktYmxvY2stYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG4gICAgJi1kZXNjIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICA+IHA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bGcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1zbS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgIH1cclxuICAgICYtYXZhdGFyIHtcclxuICAgICAgICBAaW5jbHVkZSBsdHJ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcnRse1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtYXV0aG9yIHtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiBtYXAtZ2V0KCRzaXRlLWZvbnQtc2l6ZSwgXCJtZWRpdW1cIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAudGVzdGltb25pYWxzLnJvdyB7XHJcbiAgICAgICAgLnRlc3RpbW9uaWFscy1pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpZGVyIHtcclxuICAgIC50ZXN0aW1vbmlhbHMtaXRlbSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzNDBweDtcclxuICAgICAgICBtYXJnaW46IDBweCAxMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5jaGVjay1mZWF0dXJlcyB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXh4bGcpO1xyXG4gICAgPiAqIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgICB9XHJcbiAgICAubG0tY2hlY2sge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgIH1cclxufVxyXG4ucGFja2FnZS1nZXQtc3RhcnRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYWNrYWdlLWJnKTtcclxuICAgIGJvcmRlcjogdmFyKC0tcGFja2FnZS1ib3JkZXIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGFja2FnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXBhY2thZ2UtYmxvY2stc2hhZG93KTtcclxuICAgIHBhZGRpbmc6IHZhcigtLXBhY2thZ2UtcGFkZGluZyk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi1jb250ZW50IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAmLXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgfVxyXG4gICAgLmFkZGl0aW9uYWwtb3B0aW9ucyAub3B0aW9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnByaWNlOm5vdCg6bnRoLWNoaWxkKDMpKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jaG9vc2UtcHJvZHVjdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvdG4tc2l6ZS1tZCk7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7IFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmVtZXJnZW5jeS1wcm9tbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXhsZyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14bGcpO1xyXG4gICAgJi10aXRsZSB7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1iYW5uZXIgeyAgICAgICAgXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGNvbG9yOiAgdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAuZW1lcmdlbmN5LXByb21vIHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhsZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2VjdGlvbi1zc2wtdXBncmFkZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIC5icm93c2VyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAmLXRvcCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc3NsLXVwZ3JhZGUge1xyXG4gICAgbWFyZ2luLXRvcDogLTY0cHg7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcclxuICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICB9XHJcbn1cclxuLnNlY3Rpb24tc2Vjb25kYXJ5IHtcclxuICAgICYuc2VjdGlvbi1zc2wtdXBncmFkZSB7XHJcbiAgICAgICAgLnNzbC11cGdyYWRlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG5cclxuXHJcbi5tb2RhbC1yZXN1bHRze1xyXG4gICAgLnJlc3VsdHtcclxuICAgICAgICAmLW5lZ2F0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1wb3NpdGl2ZXtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtc3VjY2Vzcy1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtY29uY2VybntcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZy1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vY3VzdG9tIHN0eWxlcyAyLjEuM1xyXG4mLnNpdGUtbm9yZHZwbiB7XHJcbi8vVFdFTlRZLU9ORSBzdHlsZXMgW3N0b3JlLmNzc11cclxuXHJcbi5pbWctb3ZlcmxhcHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhcmlzb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yIHtcclxuICAgIG1pbi1oZWlnaHQ6IDRyZW07XHJcbiAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMiB7XHJcbiAgICBtaW4taGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6bm90KDpudGgtb2YtdHlwZSgyKSksXHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKXtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpLFxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bm90KDpudGgtb2YtdHlwZSgyKSkge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOm50aC1vZi10eXBlKDIpLFxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpudGgtb2YtdHlwZSgyKSkge1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSgyKSAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSgyKSAuY29sLTI6bGFzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6bGFzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTIgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1pbmZvLWxpZ2h0ZXItMyk7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmxhc3Qtb2YtdHlwZSAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yIHNwYW4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmJ0bi1nZXQtZGVhbCB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFuZ2VyKTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG4uY29tcGFyaXNvbi1jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxufVxyXG4uY29tcGFyaXNvbi1jb250YWluZXIgPiAucm93IHtcclxuICAgIG1pbi13aWR0aDogMTExMHB4O1xyXG59XHJcblxyXG4uY29tcGFyaXNpb24taW1hZ2VzIGltZyB7XHJcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XHJcbn1cclxuXHJcbiAgICAvLyBDVVNUT00gU1RZTEVTXHJcbiAgICAucm93IHtcclxuICAgICAgICAmLWN1c3RvbSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkgeyAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTsgIFxyXG4gICAgICAgICAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOXgpO1xyXG4gICAgICAgICAgICAmLWxnIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNngpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oNSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLXNtLTEyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mZWF0dXJlIHtcclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctM3gpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2thZ2VzLWN1c3RvbSB7XHJcbiAgICAgICAgLnBhY2thZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xyXG4gICAgICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmljb25zLW5ldHdvcmsge1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAuY29udGVudC1zbGlkZXItd3JhcHBlciB7XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL3RlbXBcclxuLnNlY3Rpb24tY29udGVudC1jdXN0b20ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7ICAgIFxyXG4gICAgICAgIC5yb3ctY3VzdG9tOm50aC1vZi10eXBlKDIpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4mLnNpdGUtbm9yZHZwbiB7XHJcbiAgICAuaWNvbnMtbmV0d29yayB7XHJcbiAgICAgICAgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCImLnNpdGUtc29jaWFsYmVlIHtcclxuICAgIC5wcmljaW5nLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAucHJpY2luZy10YWJsZSB7XHJcbiAgICAgIHdpZHRoOiAxMjQ4cHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAmX19oZWFkZXItcm93IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LWxpZ2h0ZXItNCkgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgICAgJl9fY2VsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktY29sb3IpO1xyXG4gICAgICAgICYucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwucHJpY2luZy10YWJsZV9fZmVhdHVyZS1oZWFkZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwucHJpY2luZy10YWJsZV9fcGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmX19oZWFkZXItY2VsbCB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAwO1xyXG4gICAgICB9XHJcbiAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeS1saWdodGVyLTQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmX19yb3ctYWN0aW9ucyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAmX19mZWF0dXJlLW5hbWUge1xyXG4gICAgICAgIGZsZXg6IDEuNTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICAmX19mZWF0dXJlLWhlYWRlciB7XHJcbiAgICAgICAgZmxleDogMS41O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIiYuc2l0ZS1tYXJrZXRnb297XHJcbiAgICAuc2VjdGlvbi12aWRlbyB7XHJcbiAgICAgICAgLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzUlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgJi5zaXRlLW1hcmtldGdvbyB7XHJcbiAgICAgICAgLnNpdGUtYmFubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDkycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWN0aW9uLXN0ZXBzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTkycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgJiArIC5zaXRlLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAmLnNpdGUtbWFya2V0Z29vIHtcclxuICAgICAgICAuc2VjdGlvbi12aWRlbyB7XHJcbiAgICAgICAgICAgIC5lbWJlZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDM0cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjU0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDogNDU5cHgpIHtcclxuICAgICYuc2l0ZS1tYXJrZXRnb28ge1xyXG4gICAgICAgIC5zZWN0aW9uLXZpZGVvIHtcclxuICAgICAgICAgICAgLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjhweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxOTRweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWRlciB7XHJcbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbHMtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICAudGVzdGltb25pYWxzLWl0ZW0ge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjRweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnNlY3Rpb24tdGVtcGxhdGVzIHtcclxuICAgIC50ZW1wbGF0ZXN7IFxyXG4gICAgICAgIC5uYXZ7XHJcbiAgICAgICAgICAgICYubmF2LXRhYnN7XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICBhLmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yb3d7XHJcbiAgICAgICAgICAgICYgKyAucm93e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByZXZpZXdze1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1wcmV2aWV3cy1pbWctaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudHlwZS1sYWJlbHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRwbG5hbWV7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aHVtYi13cmFwcGVye1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXhsZyk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNob3ctbW9yZS1idG57XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctOHgpIGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaG93LW1vcmUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5LWRhcmtlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYuc2l0ZS13cC10b29sa2l0e1xyXG4gICAgLnNpdGUtYmFubmVye1xyXG4gICAgICAgIC5iYW5uZXItaW1ne1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFubmVyLWxvZ297XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTY0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYW5uZXItZGVzY3tcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1zZWN0aW9ue1xyXG4gICAgICAgIC5zY3JlZW5zaG90c3tcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctM3gpKTtcclxuICAgICAgICAgICAgLnNjcmVlbnNob3QtdGh1bWJ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LWxpZ2h0ZXItNCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctM3gpO1xyXG4gICAgICAgICAgICAgICAgJiA+IGltZ3tcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5vdmVybGF5e1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGltZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLm92ZXJsYXl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcclxuICAgICYuc2l0ZS13cC10b29sa2l0e1xyXG4gICAgICAgIC5zaXRlLWJhbm5lcntcclxuICAgICAgICAgICAgLmJhbm5lci1sb2dve1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMXgpKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0cntcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGx7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFubmVyLWRlc2N7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=*/