@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

body {
  --mdc-theme-primary: var(--theme-medium);
  --mdc-theme-primary-1: var(--theme-medium);
  --mdc-theme-secondary: var(--theme-medium);
  --mdc-theme-secondary-1: var(--theme-medium);
  --mdc-theme-background: #fff; }

@media (min-width: 760px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: 720px !important; }
    .mdc-dialog .mdc-dialog__surface .form-group input {
      min-width: 260px; } }

.mdc-form-field {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.01786em;
  text-decoration: inherit;
  text-transform: inherit;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: middle; }
  .mdc-form-field > label {
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
    /* @noflip */
    margin-right: auto;
    /* @noflip */
    padding-left: 4px; }
  [dir="rtl"] .mdc-form-field > label, .mdc-form-field[dir="rtl"] > label {
    /* @noflip */
    margin-left: auto;
    /* @noflip */
    padding-right: 4px; }

.mdc-form-field--align-end > label {
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  padding-right: 4px; }

[dir="rtl"] .mdc-form-field--align-end > label, .mdc-form-field--align-end[dir="rtl"] > label {
  /* @noflip */
  margin-right: auto;
  /* @noflip */
  padding-left: 4px; }

@-webkit-keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }
  to {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }

@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }
  to {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }

@-webkit-keyframes mdc-ripple-fg-opacity-in {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 0; }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0); } }

@keyframes mdc-ripple-fg-opacity-in {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 0; }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0); } }

@-webkit-keyframes mdc-ripple-fg-opacity-out {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0); }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-opacity-out {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0); }
  to {
    opacity: 0; } }

.mdc-ripple-surface--test-edge-var-bug {
  --mdc-ripple-surface-test-edge-var: 1px solid #000;
  visibility: hidden; }
  .mdc-ripple-surface--test-edge-var-bug::before {
    border: var(--mdc-ripple-surface-test-edge-var); }

.mdc-radio {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity;
  display: inline-block;
  position: relative;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  padding: 10px;
  cursor: pointer;
  /* @alternate */
  will-change: opacity, transform, border-color, color; }
  .mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
    border-color: rgba(0, 0, 0, 0.54); }
  .mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786); }
  .mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786); }
  .mdc-radio .mdc-radio__background::before {
    background-color: #018786; }
    @supports not (-ms-ime-align: auto) {
      .mdc-radio .mdc-radio__background::before {
        /* @alternate */
        background-color: var(--mdc-theme-secondary, #018786); } }
  .mdc-radio::before, .mdc-radio::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-radio::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  .mdc-radio.mdc-ripple-upgraded::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-radio.mdc-ripple-upgraded::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  .mdc-radio.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  .mdc-radio.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-radio.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-radio::before, .mdc-radio::after {
    top: calc(50% - 50%);
    /* @noflip */
    left: calc(50% - 50%);
    width: 100%;
    height: 100%; }
  .mdc-radio.mdc-ripple-upgraded::before, .mdc-radio.mdc-ripple-upgraded::after {
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @noflip */
    left: var(--mdc-ripple-left, calc(50% - 50%));
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-radio.mdc-ripple-upgraded::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-radio::before, .mdc-radio::after {
    background-color: #018786; }
    @supports not (-ms-ime-align: auto) {
      .mdc-radio::before, .mdc-radio::after {
        /* @alternate */
        background-color: var(--mdc-theme-secondary, #018786); } }
  .mdc-radio:hover::before {
    opacity: 0.04; }
  .mdc-radio:not(.mdc-ripple-upgraded):focus::before, .mdc-radio.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-radio:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  .mdc-radio:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.16; }
  .mdc-radio.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.16; }
  .mdc-radio__background {
    display: inline-block;
    position: absolute;
    left: 10px;
    box-sizing: border-box;
    width: 50%;
    height: 50%; }
    .mdc-radio__background::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      -webkit-transform: scale(0, 0);
          -ms-transform: scale(0, 0);
              transform: scale(0, 0);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      content: ""; }
  .mdc-radio__outer-circle {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    border-width: 2px;
    border-style: solid;
    border-radius: 50%; }
  .mdc-radio__inner-circle {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
            transform: scale(0, 0);
    transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    border-width: 10px;
    border-style: solid;
    border-radius: 50%; }
  .mdc-radio__native-control {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    cursor: inherit;
    z-index: 1; }
  .mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before {
    content: none; }

.mdc-radio__native-control:checked + .mdc-radio__background,
.mdc-radio__native-control:disabled + .mdc-radio__background {
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }
  .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,
  .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle {
    transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }
  .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle,
  .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {
    transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }

.mdc-radio--disabled {
  cursor: default;
  pointer-events: none; }

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); }

.mdc-radio__native-control:disabled + .mdc-radio__background,
[aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background {
  cursor: default; }
  .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle,
  [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle {
    border-color: rgba(0, 0, 0, 0.26); }
  .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle,
  [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle {
    border-color: rgba(0, 0, 0, 0.26); }

.mdc-radio__native-control:focus + .mdc-radio__background::before {
  -webkit-transform: scale(2, 2);
      -ms-transform: scale(2, 2);
          transform: scale(2, 2);
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 0.12; }

.mdc-button, .button, .file_div_clean.wfu_container input[type="button"], .version-form .ood-wp-add-repeater-item {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.08929em;
  text-decoration: none;
  text-transform: uppercase;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity;
  padding: 0 8px 0 8px;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  box-sizing: border-box;
  min-width: 64px;
  height: 36px;
  border: none;
  outline: none;
  /* @alternate */
  line-height: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 4px; }
  .mdc-button::before, .button::before, .file_div_clean.wfu_container input[type="button"]::before, .version-form .ood-wp-add-repeater-item::before, .mdc-button::after, .button::after, .file_div_clean.wfu_container input[type="button"]::after, .version-form .ood-wp-add-repeater-item::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-button::before, .button::before, .file_div_clean.wfu_container input[type="button"]::before, .version-form .ood-wp-add-repeater-item::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  .mdc-button.mdc-ripple-upgraded::before, .mdc-ripple-upgraded.button::before, .file_div_clean.wfu_container input.mdc-ripple-upgraded[type="button"]::before, .version-form .mdc-ripple-upgraded.ood-wp-add-repeater-item::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-button.mdc-ripple-upgraded::after, .mdc-ripple-upgraded.button::after, .file_div_clean.wfu_container input.mdc-ripple-upgraded[type="button"]::after, .version-form .mdc-ripple-upgraded.ood-wp-add-repeater-item::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded--unbounded::after, .mdc-ripple-upgraded--unbounded.button::after, .file_div_clean.wfu_container input.mdc-ripple-upgraded--unbounded[type="button"]::after, .version-form .mdc-ripple-upgraded--unbounded.ood-wp-add-repeater-item::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  .mdc-button.mdc-ripple-upgraded--foreground-activation::after, .mdc-ripple-upgraded--foreground-activation.button::after, .file_div_clean.wfu_container input.mdc-ripple-upgraded--foreground-activation[type="button"]::after, .version-form .mdc-ripple-upgraded--foreground-activation.ood-wp-add-repeater-item::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-button.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-ripple-upgraded--foreground-deactivation.button::after, .file_div_clean.wfu_container input.mdc-ripple-upgraded--foreground-deactivation[type="button"]::after, .version-form .mdc-ripple-upgraded--foreground-deactivation.ood-wp-add-repeater-item::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-button::before, .button::before, .file_div_clean.wfu_container input[type="button"]::before, .version-form .ood-wp-add-repeater-item::before, .mdc-button::after, .button::after, .file_div_clean.wfu_container input[type="button"]::after, .version-form .ood-wp-add-repeater-item::after {
    top: calc(50% - 100%);
    /* @noflip */
    left: calc(50% - 100%);
    width: 200%;
    height: 200%; }
  .mdc-button.mdc-ripple-upgraded::after, .mdc-ripple-upgraded.button::after, .file_div_clean.wfu_container input.mdc-ripple-upgraded[type="button"]::after, .version-form .mdc-ripple-upgraded.ood-wp-add-repeater-item::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-button::-moz-focus-inner, .button::-moz-focus-inner, .file_div_clean.wfu_container input[type="button"]::-moz-focus-inner, .version-form .ood-wp-add-repeater-item::-moz-focus-inner {
    padding: 0;
    border: 0; }
  .mdc-button:active, .button:active, .file_div_clean.wfu_container input:active[type="button"], .version-form .ood-wp-add-repeater-item:active {
    outline: none; }
  .mdc-button:hover, .button:hover, .file_div_clean.wfu_container input:hover[type="button"], .version-form .ood-wp-add-repeater-item:hover {
    cursor: pointer; }
  .mdc-button:disabled, .button:disabled, .file_div_clean.wfu_container input:disabled[type="button"], .version-form .ood-wp-add-repeater-item:disabled {
    background-color: transparent;
    color: rgba(0, 0, 0, 0.37);
    cursor: default;
    pointer-events: none; }
  .mdc-button.mdc-button--dense, .mdc-button--dense.button, .file_div_clean.wfu_container input.mdc-button--dense[type="button"], .version-form .mdc-button--dense.ood-wp-add-repeater-item {
    border-radius: 4px; }
  .mdc-button:not(:disabled), .button:not(:disabled), .file_div_clean.wfu_container input:not(:disabled)[type="button"], .version-form .ood-wp-add-repeater-item:not(:disabled) {
    background-color: transparent; }
  .mdc-button:not(:disabled), .button:not(:disabled), .file_div_clean.wfu_container input:not(:disabled)[type="button"], .version-form .ood-wp-add-repeater-item:not(:disabled) {
    color: #6200ee;
    /* @alternate */
    color: var(--mdc-theme-primary, #6200ee); }
  .mdc-button::before, .button::before, .file_div_clean.wfu_container input[type="button"]::before, .version-form .ood-wp-add-repeater-item::before, .mdc-button::after, .button::after, .file_div_clean.wfu_container input[type="button"]::after, .version-form .ood-wp-add-repeater-item::after {
    background-color: #6200ee; }
    @supports not (-ms-ime-align: auto) {
      .mdc-button::before, .button::before, .file_div_clean.wfu_container input[type="button"]::before, .version-form .ood-wp-add-repeater-item::before, .mdc-button::after, .button::after, .file_div_clean.wfu_container input[type="button"]::after, .version-form .ood-wp-add-repeater-item::after {
        /* @alternate */
        background-color: var(--mdc-theme-primary, #6200ee); } }
  .mdc-button:hover::before, .button:hover::before, .file_div_clean.wfu_container input[type="button"]:hover::before, .version-form .ood-wp-add-repeater-item:hover::before {
    opacity: 0.04; }
  .mdc-button:not(.mdc-ripple-upgraded):focus::before, .button:not(.mdc-ripple-upgraded):focus::before, .file_div_clean.wfu_container input[type="button"]:not(.mdc-ripple-upgraded):focus::before, .version-form .ood-wp-add-repeater-item:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-ripple-upgraded--background-focused::before, .mdc-ripple-upgraded--background-focused.button::before, .file_div_clean.wfu_container input.mdc-ripple-upgraded--background-focused[type="button"]::before, .version-form .mdc-ripple-upgraded--background-focused.ood-wp-add-repeater-item::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-button:not(.mdc-ripple-upgraded)::after, .button:not(.mdc-ripple-upgraded)::after, .file_div_clean.wfu_container input[type="button"]:not(.mdc-ripple-upgraded)::after, .version-form .ood-wp-add-repeater-item:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  .mdc-button:not(.mdc-ripple-upgraded):active::after, .button:not(.mdc-ripple-upgraded):active::after, .file_div_clean.wfu_container input[type="button"]:not(.mdc-ripple-upgraded):active::after, .version-form .ood-wp-add-repeater-item:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.16; }
  .mdc-button.mdc-ripple-upgraded, .mdc-ripple-upgraded.button, .file_div_clean.wfu_container input.mdc-ripple-upgraded[type="button"], .version-form .mdc-ripple-upgraded.ood-wp-add-repeater-item {
    --mdc-ripple-fg-opacity: 0.16; }
  .mdc-button .mdc-button__icon, .button .mdc-button__icon, .file_div_clean.wfu_container input[type="button"] .mdc-button__icon, .version-form .ood-wp-add-repeater-item .mdc-button__icon {
    /* @noflip */
    margin-left: 0;
    /* @noflip */
    margin-right: 8px;
    display: inline-block;
    width: 18px;
    height: 18px;
    font-size: 18px;
    vertical-align: top; }
    [dir="rtl"] .mdc-button .mdc-button__icon, [dir="rtl"] .button .mdc-button__icon, [dir="rtl"] .file_div_clean.wfu_container input[type="button"] .mdc-button__icon, .file_div_clean.wfu_container [dir="rtl"] input[type="button"] .mdc-button__icon, [dir="rtl"] .version-form .ood-wp-add-repeater-item .mdc-button__icon, .version-form [dir="rtl"] .ood-wp-add-repeater-item .mdc-button__icon, .mdc-button .mdc-button__icon[dir="rtl"], .button .mdc-button__icon[dir="rtl"], .file_div_clean.wfu_container input[type="button"] .mdc-button__icon[dir="rtl"], .version-form .ood-wp-add-repeater-item .mdc-button__icon[dir="rtl"] {
      /* @noflip */
      margin-left: 8px;
      /* @noflip */
      margin-right: 0; }
  .mdc-button svg.mdc-button__icon, .button svg.mdc-button__icon, .file_div_clean.wfu_container input[type="button"] svg.mdc-button__icon, .version-form .ood-wp-add-repeater-item svg.mdc-button__icon {
    fill: currentColor; }

.mdc-button--raised .mdc-button__icon,
.mdc-button--unelevated .mdc-button__icon,
.mdc-button--outlined .mdc-button__icon,
.version-form .ood-wp-add-repeater-item .mdc-button__icon {
  /* @noflip */
  margin-left: -4px;
  /* @noflip */
  margin-right: 8px; }
  [dir="rtl"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir="rtl"], [dir="rtl"]
  .mdc-button--unelevated .mdc-button__icon,
  .mdc-button--unelevated .mdc-button__icon[dir="rtl"], [dir="rtl"] .mdc-button--outlined .mdc-button__icon, [dir="rtl"] .version-form .ood-wp-add-repeater-item .mdc-button__icon, .version-form [dir="rtl"] .ood-wp-add-repeater-item .mdc-button__icon,
  .mdc-button--outlined .mdc-button__icon[dir="rtl"],
  .version-form .ood-wp-add-repeater-item .mdc-button__icon[dir="rtl"] {
    /* @noflip */
    margin-left: 8px;
    /* @noflip */
    margin-right: -4px; }

.mdc-button--raised,
.mdc-button--unelevated {
  padding: 0 16px 0 16px; }
  .mdc-button--raised:disabled,
  .mdc-button--unelevated:disabled {
    background-color: rgba(0, 0, 0, 0.12);
    color: rgba(0, 0, 0, 0.37); }
  .mdc-button--raised:not(:disabled),
  .mdc-button--unelevated:not(:disabled) {
    background-color: #6200ee; }
    @supports not (-ms-ime-align: auto) {
      .mdc-button--raised:not(:disabled),
      .mdc-button--unelevated:not(:disabled) {
        /* @alternate */
        background-color: var(--mdc-theme-primary, #6200ee); } }
  .mdc-button--raised:not(:disabled),
  .mdc-button--unelevated:not(:disabled) {
    color: #fff;
    /* @alternate */
    color: var(--mdc-theme-on-primary, #fff); }
  .mdc-button--raised::before, .mdc-button--raised::after,
  .mdc-button--unelevated::before,
  .mdc-button--unelevated::after {
    background-color: #fff; }
    @supports not (-ms-ime-align: auto) {
      .mdc-button--raised::before, .mdc-button--raised::after,
      .mdc-button--unelevated::before,
      .mdc-button--unelevated::after {
        /* @alternate */
        background-color: var(--mdc-theme-on-primary, #fff); } }
  .mdc-button--raised:hover::before,
  .mdc-button--unelevated:hover::before {
    opacity: 0.08; }
  .mdc-button--raised:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-ripple-upgraded--background-focused::before,
  .mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,
  .mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.24; }
  .mdc-button--raised:not(.mdc-ripple-upgraded)::after,
  .mdc-button--unelevated:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  .mdc-button--raised:not(.mdc-ripple-upgraded):active::after,
  .mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.32; }
  .mdc-button--raised.mdc-ripple-upgraded,
  .mdc-button--unelevated.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.32; }

.mdc-button--raised {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-button--raised:hover, .mdc-button--raised:focus {
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }
  .mdc-button--raised:active {
    box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }
  .mdc-button--raised:disabled {
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }

.mdc-button--outlined, .version-form .ood-wp-add-repeater-item {
  border-style: solid;
  padding: 0 14px 0 14px;
  border-width: 2px; }
  .mdc-button--outlined:disabled, .version-form .ood-wp-add-repeater-item:disabled {
    border-color: rgba(0, 0, 0, 0.37); }
  .mdc-button--outlined:not(:disabled), .version-form .ood-wp-add-repeater-item:not(:disabled) {
    border-color: #6200ee;
    /* @alternate */
    border-color: var(--mdc-theme-primary, #6200ee); }

.mdc-button--dense {
  height: 32px;
  font-size: .8125rem; }

.mdc-floating-label {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
          transform-origin: left top;
  transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
  /* @alternate */
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  will-change: transform; }
  [dir="rtl"] .mdc-floating-label, .mdc-floating-label[dir="rtl"] {
    /* @noflip */
    right: 0;
    /* @noflip */
    left: auto;
    /* @noflip */
    -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
            transform-origin: right top;
    /* @noflip */
    text-align: right; }

.mdc-floating-label--float-above {
  cursor: auto; }

.mdc-floating-label--float-above {
  -webkit-transform: translateY(-50%) scale(0.75);
      -ms-transform: translateY(-50%) scale(0.75);
          transform: translateY(-50%) scale(0.75); }

.mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-standard 250ms 1;
          animation: mdc-floating-label-shake-float-above-standard 250ms 1; }

@-webkit-keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75); } }

.mdc-line-ripple {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  z-index: 2; }

.mdc-line-ripple--active {
  -webkit-transform: scaleX(1);
      -ms-transform: scaleX(1);
          transform: scaleX(1);
  opacity: 1; }

.mdc-line-ripple--deactivating {
  opacity: 0; }

.mdc-notched-outline {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  /* @noflip */
  text-align: left;
  pointer-events: none; }
  [dir="rtl"] .mdc-notched-outline, .mdc-notched-outline[dir="rtl"] {
    /* @noflip */
    text-align: right; }
  .mdc-notched-outline__leading, .mdc-notched-outline__notch, .mdc-notched-outline__trailing {
    box-sizing: border-box;
    height: 100%;
    border-top: 1px solid;
    border-bottom: 1px solid;
    pointer-events: none; }
  .mdc-notched-outline__leading {
    /* @noflip */
    border-left: 1px solid;
    /* @noflip */
    border-right: none;
    width: 12px; }
    [dir="rtl"] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir="rtl"] {
      /* @noflip */
      border-left: none;
      /* @noflip */
      border-right: 1px solid; }
  .mdc-notched-outline__trailing {
    /* @noflip */
    border-left: none;
    /* @noflip */
    border-right: 1px solid;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    [dir="rtl"] .mdc-notched-outline__trailing, .mdc-notched-outline__trailing[dir="rtl"] {
      /* @noflip */
      border-left: 1px solid;
      /* @noflip */
      border-right: none; }
  .mdc-notched-outline__notch {
    width: auto; }
  .mdc-notched-outline .mdc-floating-label {
    display: inline-block;
    position: relative;
    top: 17px;
    bottom: auto; }

.mdc-notched-outline--notched .mdc-notched-outline__notch {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 8px;
  border-top: none; }
  [dir="rtl"] .mdc-notched-outline--notched .mdc-notched-outline__notch, .mdc-notched-outline--notched .mdc-notched-outline__notch[dir="rtl"] {
    /* @noflip */
    padding-left: 8px;
    /* @noflip */
    padding-right: 0; }

.mdc-notched-outline--no-label .mdc-notched-outline__notch {
  padding: 0; }

.mdc-text-field-helper-text {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03333em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  will-change: opacity; }
  .mdc-text-field-helper-text::before {
    display: inline-block;
    width: 0;
    height: 16px;
    content: "";
    vertical-align: 0; }

.mdc-text-field-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial; }

.mdc-text-field--with-leading-icon .mdc-text-field__icon,
.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  position: absolute;
  bottom: 16px;
  cursor: pointer; }

.mdc-text-field__icon:not([tabindex]),
.mdc-text-field__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none; }

.mdc-text-field {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity;
  border-radius: 4px 4px 0 0;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  height: 56px;
  overflow: hidden;
  will-change: opacity, transform, color; }
  .mdc-text-field::before, .mdc-text-field::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-text-field::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  .mdc-text-field.mdc-ripple-upgraded::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-text-field.mdc-ripple-upgraded::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  .mdc-text-field.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  .mdc-text-field.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-text-field.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-text-field::before, .mdc-text-field::after {
    background-color: rgba(0, 0, 0, 0.87); }
  .mdc-text-field:hover::before {
    opacity: 0.04; }
  .mdc-text-field:not(.mdc-ripple-upgraded):focus::before, .mdc-text-field.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-text-field::before, .mdc-text-field::after {
    top: calc(50% - 100%);
    /* @noflip */
    left: calc(50% - 100%);
    width: 200%;
    height: 200%; }
  .mdc-text-field.mdc-ripple-upgraded::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
    color: rgba(0, 0, 0, 0.87); }
  .mdc-text-field .mdc-text-field__input {
    caret-color: #6200ee;
    /* @alternate */
    caret-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
    border-bottom-color: rgba(0, 0, 0, 0.42); }
  .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {
    border-bottom-color: rgba(0, 0, 0, 0.87); }
  .mdc-text-field .mdc-line-ripple {
    background-color: #6200ee;
    /* @alternate */
    background-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {
    border-bottom-color: rgba(0, 0, 0, 0.12); }
  .mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-text {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon {
    color: rgba(0, 0, 0, 0.54); }
  .mdc-text-field:not(.mdc-text-field--disabled) {
    background-color: whitesmoke; }
  .mdc-text-field .mdc-floating-label {
    /* @noflip */
    left: 16px;
    /* @noflip */
    right: initial;
    top: 18px;
    pointer-events: none; }
    [dir="rtl"] .mdc-text-field .mdc-floating-label, .mdc-text-field .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 16px; }
  .mdc-text-field--textarea .mdc-floating-label {
    /* @noflip */
    left: 4px;
    /* @noflip */
    right: initial; }
    [dir="rtl"] .mdc-text-field--textarea .mdc-floating-label, .mdc-text-field--textarea .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 4px; }
  .mdc-text-field--outlined .mdc-floating-label {
    /* @noflip */
    left: 4px;
    /* @noflip */
    right: initial;
    top: 17px; }
    [dir="rtl"] .mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--outlined .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 4px; }
  .mdc-text-field--outlined--with-leading-icon .mdc-floating-label {
    /* @noflip */
    left: 36px;
    /* @noflip */
    right: initial; }
    [dir="rtl"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 36px; }
    .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above {
      /* @noflip */
      left: 40px;
      /* @noflip */
      right: initial; }
      [dir="rtl"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above[dir="rtl"] {
        /* @noflip */
        left: initial;
        /* @noflip */
        right: 40px; }

.mdc-text-field__input {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 20px 16px 6px;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  border-bottom: 1px solid;
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .mdc-text-field__input::-webkit-input-placeholder {
    transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1; }
  .mdc-text-field__input:-ms-input-placeholder {
    transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1; }
  .mdc-text-field__input::placeholder {
    transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1; }
  .mdc-text-field__input:focus {
    outline: none; }
  .mdc-text-field__input:invalid {
    box-shadow: none; }

.mdc-text-field__input:-webkit-autofill + .mdc-floating-label {
  -webkit-transform: translateY(-50%) scale(0.75);
          transform: translateY(-50%) scale(0.75);
  cursor: auto; }

.mdc-text-field--outlined {
  border: none;
  overflow: visible; }
  .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.24); }
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.87); }
  .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
  .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
    border-color: #6200ee;
    /* @alternate */
    border-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-text-field--outlined .mdc-floating-label--shake {
    -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
            animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }
  .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {
    /* @noflip */
    border-radius: 4px 0 0 4px; }
    [dir="rtl"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
      /* @noflip */
      border-radius: 0 4px 4px 0; }
  .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
    /* @noflip */
    border-radius: 0 4px 4px 0; }
    [dir="rtl"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
      /* @noflip */
      border-radius: 4px 0 0 4px; }
  .mdc-text-field--outlined .mdc-floating-label--float-above {
    -webkit-transform: translateY(-144%) scale(1);
        -ms-transform: translateY(-144%) scale(1);
            transform: translateY(-144%) scale(1); }
  .mdc-text-field--outlined .mdc-floating-label--float-above {
    font-size: 0.75rem; }
  .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    -webkit-transform: translateY(-130%) scale(0.75);
        -ms-transform: translateY(-130%) scale(0.75);
            transform: translateY(-130%) scale(0.75); }
  .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 1rem; }
  .mdc-text-field--outlined::before, .mdc-text-field--outlined::after {
    content: none; }
  .mdc-text-field--outlined:not(.mdc-text-field--disabled) {
    background-color: transparent; }
  .mdc-text-field--outlined .mdc-text-field__input {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 12px 16px 14px;
    border: none !important;
    background-color: transparent;
    z-index: 1; }
  .mdc-text-field--outlined .mdc-text-field__icon {
    z-index: 2; }

.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing {
  border-width: 2px; }

.mdc-text-field--outlined.mdc-text-field--disabled {
  background-color: transparent; }
  .mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,
  .mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,
  .mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.06); }
  .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {
    border-bottom: none; }

.mdc-text-field--outlined.mdc-text-field--dense {
  height: 48px; }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
    -webkit-transform: translateY(-134%) scale(1);
        -ms-transform: translateY(-134%) scale(1);
            transform: translateY(-134%) scale(1); }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
    font-size: 0.8rem; }
  .mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    -webkit-transform: translateY(-120%) scale(0.8);
        -ms-transform: translateY(-120%) scale(0.8);
            transform: translateY(-120%) scale(0.8); }
  .mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 1rem; }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {
    -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1;
            animation: mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1; }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__input {
    padding: 12px 12px 7px; }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {
    top: 14px; }
  .mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__icon {
    top: 12px; }

.mdc-text-field--with-leading-icon .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 16px; }

.mdc-text-field--with-leading-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px; }
  [dir="rtl"] .mdc-text-field--with-leading-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 16px;
    /* @noflip */
    padding-right: 48px; }

.mdc-text-field--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 48px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon .mdc-floating-label, .mdc-text-field--with-leading-icon .mdc-floating-label[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 48px; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 16px; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 16px;
    /* @noflip */
    padding-right: 48px; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {
  -webkit-transform: translateY(-144%) translateX(-32px) scale(1);
      -ms-transform: translateY(-144%) translateX(-32px) scale(1);
          transform: translateY(-144%) translateX(-32px) scale(1); }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-144%) translateX(32px) scale(1);
        -ms-transform: translateY(-144%) translateX(32px) scale(1);
            transform: translateY(-144%) translateX(32px) scale(1); }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  -webkit-transform: translateY(-130%) translateX(-32px) scale(0.75);
      -ms-transform: translateY(-130%) translateX(-32px) scale(0.75);
          transform: translateY(-130%) translateX(-32px) scale(0.75); }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
  .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-130%) translateX(32px) scale(0.75);
        -ms-transform: translateY(-130%) translateX(32px) scale(0.75);
            transform: translateY(-130%) translateX(32px) scale(0.75); }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1;
          animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1; }

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir="rtl"] .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1;
          animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 36px; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  -webkit-transform: translateY(-134%) translateX(-21px) scale(1);
      -ms-transform: translateY(-134%) translateX(-21px) scale(1);
          transform: translateY(-134%) translateX(-21px) scale(1); }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-134%) translateX(21px) scale(1);
        -ms-transform: translateY(-134%) translateX(21px) scale(1);
            transform: translateY(-134%) translateX(21px) scale(1); }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  font-size: 0.8rem; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  -webkit-transform: translateY(-120%) translateX(-21px) scale(0.8);
      -ms-transform: translateY(-120%) translateX(-21px) scale(0.8);
          transform: translateY(-120%) translateX(-21px) scale(0.8); }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
  .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-120%) translateX(21px) scale(0.8);
        -ms-transform: translateY(-120%) translateX(21px) scale(0.8);
            transform: translateY(-120%) translateX(21px) scale(0.8); }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1;
          animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1; }

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense[dir="rtl"] .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1;
          animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1; }

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {
  /* @noflip */
  left: 26px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 26px; }

.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 12px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: 12px;
    /* @noflip */
    right: initial; }

.mdc-text-field--with-trailing-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 12px;
  /* @noflip */
  padding-right: 48px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-trailing-icon .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 48px;
    /* @noflip */
    padding-right: 12px; }

.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: 16px;
    /* @noflip */
    right: initial; }

.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 48px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 48px;
    /* @noflip */
    padding-right: 16px; }

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: auto; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: auto;
    /* @noflip */
    right: 16px; }
  .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon {
    /* @noflip */
    right: 12px;
    /* @noflip */
    left: auto; }
    [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon[dir="rtl"] {
      /* @noflip */
      right: auto;
      /* @noflip */
      left: 12px; }

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 48px; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 48px;
    /* @noflip */
    padding-right: 48px; }

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,
.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  bottom: 16px;
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8); }

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 12px; }

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 38px;
  /* @noflip */
  padding-right: 12px; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 12px;
    /* @noflip */
    padding-right: 38px; }

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label {
  /* @noflip */
  left: 38px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 38px; }

.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 12px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: 12px;
    /* @noflip */
    right: initial; }

.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 12px;
  /* @noflip */
  padding-right: 38px; }
  [dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 38px;
    /* @noflip */
    padding-right: 12px; }

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: auto; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
    /* @noflip */
    left: auto;
    /* @noflip */
    right: 12px; }
  .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon {
    /* @noflip */
    right: 12px;
    /* @noflip */
    left: auto; }
    [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon[dir="rtl"] {
      /* @noflip */
      right: auto;
      /* @noflip */
      left: 12px; }

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 38px;
  /* @noflip */
  padding-right: 38px; }
  [dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
    /* @noflip */
    padding-left: 38px;
    /* @noflip */
    padding-right: 38px; }

.mdc-text-field--dense .mdc-floating-label--float-above {
  -webkit-transform: translateY(-70%) scale(0.8);
      -ms-transform: translateY(-70%) scale(0.8);
          transform: translateY(-70%) scale(0.8); }

.mdc-text-field--dense .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-text-field-dense 250ms 1;
          animation: mdc-floating-label-shake-float-above-text-field-dense 250ms 1; }

.mdc-text-field--dense .mdc-text-field__input {
  padding: 12px 12px 0; }

.mdc-text-field--dense .mdc-floating-label {
  font-size: .813rem; }
  .mdc-text-field--dense .mdc-floating-label--float-above {
    font-size: .813rem; }

.mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  margin-left: 1px;
  content: "*"; }

.mdc-text-field--textarea {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: auto;
  height: auto;
  transition: none;
  overflow: visible; }
  .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.24); }
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.87); }
  .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
  .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
    border-color: #6200ee;
    /* @alternate */
    border-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-text-field--textarea .mdc-floating-label--shake {
    -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
            animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }
  .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading {
    /* @noflip */
    border-radius: 4px 0 0 4px; }
    [dir="rtl"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
      /* @noflip */
      border-radius: 0 4px 4px 0; }
  .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {
    /* @noflip */
    border-radius: 0 4px 4px 0; }
    [dir="rtl"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
      /* @noflip */
      border-radius: 4px 0 0 4px; }
  .mdc-text-field--textarea::before, .mdc-text-field--textarea::after {
    content: none; }
  .mdc-text-field--textarea:not(.mdc-text-field--disabled) {
    background-color: transparent; }
  .mdc-text-field--textarea .mdc-floating-label--float-above {
    -webkit-transform: translateY(-144%) scale(1);
        -ms-transform: translateY(-144%) scale(1);
            transform: translateY(-144%) scale(1); }
  .mdc-text-field--textarea .mdc-floating-label--float-above {
    font-size: 0.75rem; }
  .mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    -webkit-transform: translateY(-130%) scale(0.75);
        -ms-transform: translateY(-130%) scale(0.75);
            transform: translateY(-130%) scale(0.75); }
  .mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 1rem; }
  .mdc-text-field--textarea .mdc-text-field__input {
    -webkit-align-self: auto;
        -ms-flex-item-align: auto;
                -ms-grid-row-align: auto;
            align-self: auto;
    box-sizing: border-box;
    height: auto;
    margin: 8px 1px 1px 0;
    padding: 0 16px 16px;
    border: none; }
  .mdc-text-field--textarea .mdc-floating-label {
    top: 17px;
    bottom: auto;
    width: auto;
    pointer-events: none; }
  .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__leading,
  .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__notch,
  .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__trailing {
    border-width: 2px; }

.mdc-text-field--fullwidth {
  width: 100%; }
  .mdc-text-field--fullwidth:not(.mdc-text-field--textarea) {
    display: block; }
    .mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::before, .mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::after {
      content: none; }
    .mdc-text-field--fullwidth:not(.mdc-text-field--textarea):not(.mdc-text-field--disabled) {
      background-color: transparent; }
    .mdc-text-field--fullwidth:not(.mdc-text-field--textarea) .mdc-text-field__input {
      padding: 0; }

.mdc-text-field--fullwidth.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea), .ood-wp-error-form-group .mdc-text-field--fullwidth.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--dense + .mdc-text-field-helper-text {
  margin-bottom: 4px; }

.mdc-text-field + .mdc-text-field-helper-text {
  margin-right: 12px;
  margin-left: 12px; }

.mdc-text-field--outlined + .mdc-text-field-helper-text {
  margin-right: 16px;
  margin-left: 16px; }

.mdc-form-field > .mdc-text-field + label {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(98, 0, 238, 0.87); }

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {
  color: rgba(98, 0, 238, 0.87); }

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {
  color: rgba(98, 0, 238, 0.87); }

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {
  color: rgba(98, 0, 238, 0.87); }

.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--focused + .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg) {
  opacity: 1; }

.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #b00020;
  /* @alternate */
  background-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-text--validation-msg, .ood-wp-error-form-group .mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid .mdc-text-field__input, .ood-wp-error-form-group .mdc-text-field .mdc-text-field__input {
  caret-color: #b00020;
  /* @alternate */
  caret-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid.mdc-text-field--with-trailing-icon:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon, .ood-wp-error-form-group .mdc-text-field--with-trailing-icon.mdc-text-field:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid.mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon:not(.mdc-text-field--disabled) .mdc-text-field__icon ~ .mdc-text-field__icon, .ood-wp-error-form-group .mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon ~ .mdc-text-field__icon {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--invalid + .mdc-text-field-helper-text--validation-msg, .ood-wp-error-form-group .mdc-text-field + .mdc-text-field-helper-text--validation-msg {
  opacity: 1; }

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--textarea.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading, .ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing,
.ood-wp-error-form-group .mdc-text-field--outlined.mdc-text-field:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-text-field--disabled {
  background-color: #fafafa;
  border-bottom: none;
  pointer-events: none; }
  .mdc-text-field--disabled .mdc-text-field__input {
    border-bottom-color: rgba(0, 0, 0, 0.06); }
  .mdc-text-field--disabled .mdc-text-field__input {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled .mdc-floating-label {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled .mdc-text-field__input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled .mdc-text-field__input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled .mdc-text-field__input::placeholder {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled + .mdc-text-field-helper-text {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-text-field--disabled .mdc-text-field__icon {
    color: rgba(0, 0, 0, 0.3); }
  .mdc-text-field--disabled:not(.mdc-text-field--textarea) {
    border-bottom-color: rgba(0, 0, 0, 0.12); }
  .mdc-text-field--disabled .mdc-floating-label {
    cursor: default; }

.mdc-text-field--textarea.mdc-text-field--disabled {
  background-color: transparent;
  background-color: #f9f9f9; }
  .mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__leading,
  .mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__notch,
  .mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.06); }
  .mdc-text-field--textarea.mdc-text-field--disabled .mdc-text-field__input {
    border-bottom: none; }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); } }

@keyframes mdc-floating-label-shake-float-above-text-field-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon {
  0% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon {
  0% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense {
  0% {
    -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); } }

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8); }
  100% {
    -webkit-transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
            transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-textarea {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-textarea {
  0% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75); } }

@-webkit-keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%,
  50% {
    stroke-dashoffset: 29.78334; }
  50% {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
  100% {
    stroke-dashoffset: 0; } }

@keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%,
  50% {
    stroke-dashoffset: 29.78334; }
  50% {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
  100% {
    stroke-dashoffset: 0; } }

@-webkit-keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%,
  68.2% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  68.2% {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1);
            animation-timing-function: cubic-bezier(0, 0, 0, 1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%,
  68.2% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0); }
  68.2% {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1);
            animation-timing-function: cubic-bezier(0, 0, 0, 1); }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1); } }

@-webkit-keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0; }
  to {
    opacity: 0;
    stroke-dashoffset: -29.78334; } }

@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0; }
  to {
    opacity: 0;
    stroke-dashoffset: -29.78334; } }

@-webkit-keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; }
  to {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 0; } }

@keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; }
  to {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 0; } }

@-webkit-keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
            animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 0; }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    opacity: 1; } }

@keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
            animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 0; }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    opacity: 1; } }

@-webkit-keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    -webkit-animation-timing-function: mdc-animation-deceleration-curve-timing-function;
            animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    opacity: 0; }
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; } }

@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    -webkit-animation-timing-function: mdc-animation-deceleration-curve-timing-function;
            animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    opacity: 0; }
  to {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; } }

@-webkit-keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
            animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; }
  to {
    -webkit-transform: rotate(315deg);
            transform: rotate(315deg);
    opacity: 0; } }

@keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
            animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1; }
  to {
    -webkit-transform: rotate(315deg);
            transform: rotate(315deg);
    opacity: 0; } }

@-webkit-keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 1; }
  32.8%,
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    opacity: 0; } }

@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 1; }
  32.8%,
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    opacity: 0; } }

.mdc-checkbox {
  display: inline-block;
  position: relative;
  -webkit-flex: 0 0 18px;
      -ms-flex: 0 0 18px;
          flex: 0 0 18px;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  padding: 11px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity; }
  .mdc-checkbox::before, .mdc-checkbox::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-checkbox::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  .mdc-checkbox.mdc-ripple-upgraded::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-checkbox.mdc-ripple-upgraded::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  .mdc-checkbox.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  .mdc-checkbox.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-checkbox::before, .mdc-checkbox::after {
    background-color: #018786; }
    @supports not (-ms-ime-align: auto) {
      .mdc-checkbox::before, .mdc-checkbox::after {
        /* @alternate */
        background-color: var(--mdc-theme-secondary, #018786); } }
  .mdc-checkbox:hover::before {
    opacity: 0.04; }
  .mdc-checkbox:not(.mdc-ripple-upgraded):focus::before, .mdc-checkbox.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-checkbox:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  .mdc-checkbox:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.16; }
  .mdc-checkbox.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.16; }
  .mdc-checkbox::before, .mdc-checkbox::after {
    top: calc(50% - 50%);
    /* @noflip */
    left: calc(50% - 50%);
    width: 100%;
    height: 100%; }
  .mdc-checkbox.mdc-ripple-upgraded::before, .mdc-checkbox.mdc-ripple-upgraded::after {
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @noflip */
    left: var(--mdc-ripple-left, calc(50% - 50%));
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-checkbox.mdc-ripple-upgraded::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }

.mdc-checkbox__checkmark {
  color: #fff; }

.mdc-checkbox__mixedmark {
  border-color: #fff; }

.mdc-checkbox__background::before {
  background-color: #018786; }
  @supports not (-ms-ime-align: auto) {
    .mdc-checkbox__background::before {
      /* @alternate */
      background-color: var(--mdc-theme-secondary, #018786); } }

.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.54);
  background-color: transparent; }

.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786); }

@-webkit-keyframes mdc-checkbox-fade-in-background-0 {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent; }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786); } }

@keyframes mdc-checkbox-fade-in-background-0 {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent; }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786); } }

@-webkit-keyframes mdc-checkbox-fade-out-background-0 {
  0%, 80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786); }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent; } }

@keyframes mdc-checkbox-fade-out-background-0 {
  0%, 80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786); }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent; } }

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  -webkit-animation-name: mdc-checkbox-fade-in-background-0;
          animation-name: mdc-checkbox-fade-in-background-0; }

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  -webkit-animation-name: mdc-checkbox-fade-out-background-0;
          animation-name: mdc-checkbox-fade-out-background-0; }

.mdc-checkbox__native-control:disabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background, .disabled .mdc-checkbox .mdc-checkbox__native-control:not(:checked):not(:indeterminate)[readonly] ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.26); }

.mdc-checkbox__native-control:disabled:checked ~ .mdc-checkbox__background, .disabled .mdc-checkbox .mdc-checkbox__native-control:checked[readonly] ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:disabled:indeterminate ~ .mdc-checkbox__background,
.disabled .mdc-checkbox .mdc-checkbox__native-control:indeterminate[readonly] ~ .mdc-checkbox__background {
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.26); }

@media screen and (-ms-high-contrast: active) {
  .mdc-checkbox__mixedmark {
    margin: 0 1px; } }

.mdc-checkbox--disabled {
  cursor: default;
  pointer-events: none; }

.mdc-checkbox__background {
  /* @noflip */
  left: 11px;
  /* @noflip */
  right: initial;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  top: 11px;
  bottom: 0;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  box-sizing: border-box;
  width: 45%;
  height: 45%;
  transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  border: 2px solid currentColor;
  border-radius: 2px;
  background-color: transparent;
  pointer-events: none;
  will-change: background-color, border-color; }
  .mdc-checkbox[dir="rtl"] .mdc-checkbox__background,
  [dir="rtl"] .mdc-checkbox .mdc-checkbox__background {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 11px; }

.mdc-checkbox__checkmark {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  opacity: 0; }
  .mdc-checkbox--upgraded .mdc-checkbox__checkmark {
    opacity: 1; }

.mdc-checkbox__checkmark-path {
  transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  stroke: currentColor;
  stroke-width: 3.12px;
  stroke-dashoffset: 29.78334;
  stroke-dasharray: 29.78334; }

.mdc-checkbox__mixedmark {
  width: 100%;
  height: 0;
  -webkit-transform: scaleX(0) rotate(0deg);
      -ms-transform: scaleX(0) rotate(0deg);
          transform: scaleX(0) rotate(0deg);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  border-width: 1px;
  border-style: solid;
  opacity: 0; }

.mdc-checkbox--upgraded .mdc-checkbox__background,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,
.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {
  transition: none !important; }

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {
  -webkit-animation-duration: 180ms;
          animation-duration: 180ms;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {
  -webkit-animation: 180ms linear 0s mdc-checkbox-unchecked-checked-checkmark-path;
          animation: 180ms linear 0s mdc-checkbox-unchecked-checked-checkmark-path;
  transition: none; }

.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {
  -webkit-animation: 90ms linear 0s mdc-checkbox-unchecked-indeterminate-mixedmark;
          animation: 90ms linear 0s mdc-checkbox-unchecked-indeterminate-mixedmark;
  transition: none; }

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {
  -webkit-animation: 90ms linear 0s mdc-checkbox-checked-unchecked-checkmark-path;
          animation: 90ms linear 0s mdc-checkbox-checked-unchecked-checkmark-path;
  transition: none; }

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {
  -webkit-animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-checkmark;
          animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-checkmark;
  transition: none; }

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {
  -webkit-animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-mixedmark;
          animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-mixedmark;
  transition: none; }

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {
  -webkit-animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-checkmark;
          animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-checkmark;
  transition: none; }

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {
  -webkit-animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-mixedmark;
          animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-mixedmark;
  transition: none; }

.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {
  -webkit-animation: 300ms linear 0s mdc-checkbox-indeterminate-unchecked-mixedmark;
          animation: 300ms linear 0s mdc-checkbox-indeterminate-unchecked-mixedmark;
  transition: none; }

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background {
  transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1); }
  .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
  .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
    stroke-dashoffset: 0; }

.mdc-checkbox__background::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0, 0);
      -ms-transform: scale(0, 0);
          transform: scale(0, 0);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  will-change: opacity, transform; }

.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {
  content: none; }

.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {
  -webkit-transform: scale(2.75, 2.75);
      -ms-transform: scale(2.75, 2.75);
          transform: scale(2.75, 2.75);
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 0.12; }

.mdc-checkbox__native-control {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit; }
  .mdc-checkbox__native-control:disabled, .disabled .mdc-checkbox .mdc-checkbox__native-control[readonly] {
    cursor: default;
    pointer-events: none; }

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 1; }

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  -webkit-transform: scaleX(1) rotate(-45deg);
      -ms-transform: scaleX(1) rotate(-45deg);
          transform: scaleX(1) rotate(-45deg); }

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  opacity: 0; }

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  -webkit-transform: scaleX(1) rotate(0deg);
      -ms-transform: scaleX(1) rotate(0deg);
          transform: scaleX(1) rotate(0deg);
  opacity: 1; }

@-webkit-keyframes mdc-select-float-native-control {
  0% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes mdc-select-float-native-control {
  0% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000); }

.mdc-select--with-leading-icon .mdc-select__icon {
  display: inline-block;
  position: absolute;
  bottom: 16px;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: none;
  background-color: transparent;
  fill: currentColor;
  opacity: 0.54;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.mdc-select__icon:not([tabindex]),
.mdc-select__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none; }

.mdc-select-helper-text {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03333em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  will-change: opacity; }
  .mdc-select-helper-text::before {
    display: inline-block;
    width: 0;
    height: 16px;
    content: "";
    vertical-align: 0; }

.mdc-select-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial; }

.mdc-select {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  height: 56px;
  overflow: hidden;
  will-change: opacity, transform, color; }
  .mdc-select:not(.mdc-select--disabled) {
    background-color: whitesmoke; }
  .mdc-select::before, .mdc-select::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-select::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  .mdc-select.mdc-ripple-upgraded::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-select.mdc-ripple-upgraded::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  .mdc-select.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  .mdc-select.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-select.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  .mdc-select::before, .mdc-select::after {
    top: calc(50% - 100%);
    /* @noflip */
    left: calc(50% - 100%);
    width: 200%;
    height: 200%; }
  .mdc-select.mdc-ripple-upgraded::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  .mdc-select::before, .mdc-select::after {
    background-color: rgba(0, 0, 0, 0.87); }
  .mdc-select:hover::before {
    opacity: 0.04; }
  .mdc-select:not(.mdc-ripple-upgraded):focus::before, .mdc-select.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,
  .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
    color: rgba(0, 0, 0, 0.87); }
  .mdc-select:not(.mdc-select--disabled) .mdc-floating-label {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,
  .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
    border-bottom-color: rgba(0, 0, 0, 0.42); }
  .mdc-select:not(.mdc-select--disabled) + .mdc-select-helper-text {
    color: rgba(0, 0, 0, 0.6); }
  .mdc-select, .mdc-select__native-control {
    border-radius: 4px 4px 0 0; }
  .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {
    background-color: #6200ee;
    /* @alternate */
    background-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
    color: rgba(98, 0, 238, 0.87); }
  .mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:hover {
    border-bottom-color: rgba(0, 0, 0, 0.87); }
  .mdc-select .mdc-floating-label--float-above {
    -webkit-transform: translateY(-70%) scale(0.75);
        -ms-transform: translateY(-70%) scale(0.75);
            transform: translateY(-70%) scale(0.75); }
  .mdc-select .mdc-floating-label {
    /* @noflip */
    left: 16px;
    /* @noflip */
    right: initial;
    top: 21px;
    pointer-events: none; }
    [dir="rtl"] .mdc-select .mdc-floating-label, .mdc-select .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 16px; }
  .mdc-select.mdc-select--with-leading-icon .mdc-floating-label {
    /* @noflip */
    left: 48px;
    /* @noflip */
    right: initial; }
    [dir="rtl"] .mdc-select.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--with-leading-icon .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 48px; }
  .mdc-select.mdc-select--outlined .mdc-floating-label {
    /* @noflip */
    left: 4px;
    /* @noflip */
    right: initial;
    top: 17px; }
    [dir="rtl"] .mdc-select.mdc-select--outlined .mdc-floating-label, .mdc-select.mdc-select--outlined .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 4px; }
  .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label {
    /* @noflip */
    left: 36px;
    /* @noflip */
    right: initial; }
    [dir="rtl"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 36px; }
    .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above {
      /* @noflip */
      left: 36px;
      /* @noflip */
      right: initial; }
      [dir="rtl"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir="rtl"] {
        /* @noflip */
        left: initial;
        /* @noflip */
        right: 36px; }
  .mdc-select__dropdown-icon {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
    /* @noflip */
    left: auto;
    /* @noflip */
    right: 8px;
    position: absolute;
    bottom: 16px;
    width: 24px;
    height: 24px;
    transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none; }
    [dir="rtl"] .mdc-select__dropdown-icon, .mdc-select__dropdown-icon[dir="rtl"] {
      /* @noflip */
      left: 8px;
      /* @noflip */
      right: auto; }
    .mdc-select--focused .mdc-select__dropdown-icon {
      background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%236200ee%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
      -webkit-transform: rotate(180deg) translateY(-5px);
          -ms-transform: rotate(180deg) translateY(-5px);
              transform: rotate(180deg) translateY(-5px);
      transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
      transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
      transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-select__native-control {
    padding-top: 20px; }
  .mdc-select.mdc-select--focused .mdc-line-ripple::after {
    -webkit-transform: scale(1, 2);
        -ms-transform: scale(1, 2);
            transform: scale(1, 2);
    opacity: 1; }

.mdc-select + .mdc-select-helper-text {
  margin-right: 12px;
  margin-left: 12px; }

.mdc-select--outlined + .mdc-select-helper-text {
  margin-right: 16px;
  margin-left: 16px; }

.mdc-select--focused + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {
  opacity: 1; }

.mdc-select__selected-text {
  min-width: 200px;
  padding-top: 22px; }

.mdc-select__native-control,
.mdc-select__selected-text {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 52px;
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  box-sizing: border-box;
  width: 100%;
  height: 56px;
  padding-top: 20px;
  padding-bottom: 4px;
  border: none;
  border-bottom: 1px solid;
  outline: none;
  background-color: transparent;
  color: inherit;
  white-space: nowrap;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [dir="rtl"] .mdc-select__native-control, .mdc-select__native-control[dir="rtl"], [dir="rtl"]
  .mdc-select__selected-text,
  .mdc-select__selected-text[dir="rtl"] {
    /* @noflip */
    padding-left: 52px;
    /* @noflip */
    padding-right: 16px; }
  .mdc-select__native-control::-ms-expand,
  .mdc-select__selected-text::-ms-expand {
    display: none; }
  .mdc-select__native-control::-ms-value,
  .mdc-select__selected-text::-ms-value {
    background-color: transparent;
    color: inherit; }

@-moz-document url-prefix("") {
  .mdc-select__native-control,
  .mdc-select__selected-text {
    text-indent: -2px; } }

.mdc-select--outlined {
  border: none;
  overflow: visible; }
  .mdc-select--outlined:not(.mdc-select--disabled) {
    background-color: transparent; }
  .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
  .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
  .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.24); }
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
    border-color: rgba(0, 0, 0, 0.87); }
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
    border-width: 2px; }
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
  .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
    border-color: #6200ee;
    /* @alternate */
    border-color: var(--mdc-theme-primary, #6200ee); }
  .mdc-select--outlined .mdc-floating-label--shake {
    -webkit-animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
            animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1; }
  .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
    /* @noflip */
    border-radius: 4px 0 0 4px; }
    [dir="rtl"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
      /* @noflip */
      border-radius: 0 4px 4px 0; }
  .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
    /* @noflip */
    border-radius: 0 4px 4px 0; }
    [dir="rtl"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
      /* @noflip */
      border-radius: 4px 0 0 4px; }
  .mdc-select--outlined .mdc-select__native-control {
    border-radius: 4px; }
  .mdc-select--outlined::before, .mdc-select--outlined::after {
    content: none; }
  .mdc-select--outlined:not(.mdc-select--disabled) {
    background-color: transparent; }
  .mdc-select--outlined .mdc-floating-label--float-above {
    -webkit-transform: translateY(-144%) scale(1);
        -ms-transform: translateY(-144%) scale(1);
            transform: translateY(-144%) scale(1); }
  .mdc-select--outlined .mdc-floating-label--float-above {
    font-size: 0.75rem; }
  .mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    -webkit-transform: translateY(-130%) scale(0.75);
        -ms-transform: translateY(-130%) scale(0.75);
            transform: translateY(-130%) scale(0.75); }
  .mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 1rem; }
  .mdc-select--outlined .mdc-select__native-control,
  .mdc-select--outlined .mdc-select__selected-text {
    /* @noflip */
    padding-left: 16px;
    /* @noflip */
    padding-right: 52px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 12px;
    padding-bottom: 12px;
    border: none;
    background-color: transparent;
    z-index: 1; }
    [dir="rtl"] .mdc-select--outlined .mdc-select__native-control, .mdc-select--outlined .mdc-select__native-control[dir="rtl"], [dir="rtl"]
    .mdc-select--outlined .mdc-select__selected-text,
    .mdc-select--outlined .mdc-select__selected-text[dir="rtl"] {
      /* @noflip */
      padding-left: 52px;
      /* @noflip */
      padding-right: 16px; }
  .mdc-select--outlined .mdc-select__selected-text {
    padding-top: 14px; }
  .mdc-select--outlined .mdc-select__icon {
    z-index: 2; }
  .mdc-select--outlined .mdc-floating-label {
    line-height: 1.15rem;
    pointer-events: auto; }

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control,
.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__selected-text {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {
  background-color: #b00020;
  /* @alternate */
  background-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #b00020; }

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control:hover {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px; }

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020); }

.mdc-select--invalid .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center; }

.mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  opacity: 1; }

.mdc-select--required .mdc-floating-label::after {
  content: "*"; }

.mdc-select--disabled {
  background-color: #fafafa;
  cursor: default;
  pointer-events: none; }
  .mdc-select--disabled .mdc-floating-label {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-select--disabled .mdc-select__dropdown-icon {
    background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.37%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center; }
  .mdc-select--disabled .mdc-line-ripple {
    display: none; }
  .mdc-select--disabled .mdc-select__icon {
    color: rgba(0, 0, 0, 0.37); }
  .mdc-select--disabled .mdc-select__native-control,
  .mdc-select--disabled .mdc-select__selected-text {
    color: rgba(0, 0, 0, 0.37);
    border-bottom-style: dotted; }
  .mdc-select--disabled .mdc-select__selected-text {
    pointer-events: none; }
  .mdc-select--disabled.mdc-select--outlined {
    background-color: transparent; }
    .mdc-select--disabled.mdc-select--outlined .mdc-select__native-control,
    .mdc-select--disabled.mdc-select--outlined .mdc-select__selected-text {
      border-bottom-style: none; }
    .mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,
    .mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,
    .mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing {
      border-color: rgba(0, 0, 0, 0.16); }

.mdc-select--with-leading-icon .mdc-select__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial; }
  [dir="rtl"] .mdc-select--with-leading-icon .mdc-select__icon, .mdc-select--with-leading-icon .mdc-select__icon[dir="rtl"] {
    /* @noflip */
    left: initial;
    /* @noflip */
    right: 16px; }

.mdc-select--with-leading-icon .mdc-select__native-control,
.mdc-select--with-leading-icon .mdc-select__selected-text {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 32px; }
  [dir="rtl"] .mdc-select--with-leading-icon .mdc-select__native-control, .mdc-select--with-leading-icon .mdc-select__native-control[dir="rtl"], [dir="rtl"]
  .mdc-select--with-leading-icon .mdc-select__selected-text,
  .mdc-select--with-leading-icon .mdc-select__selected-text[dir="rtl"] {
    /* @noflip */
    padding-left: 32px;
    /* @noflip */
    padding-right: 48px; }

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  -webkit-transform: translateY(-144%) translateX(-32px) scale(1);
      -ms-transform: translateY(-144%) translateX(-32px) scale(1);
          transform: translateY(-144%) translateX(-32px) scale(1); }
  [dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-144%) translateX(32px) scale(1);
        -ms-transform: translateY(-144%) translateX(32px) scale(1);
            transform: translateY(-144%) translateX(32px) scale(1); }

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem; }

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  -webkit-transform: translateY(-130%) translateX(-32px) scale(0.75);
      -ms-transform: translateY(-130%) translateX(-32px) scale(0.75);
          transform: translateY(-130%) translateX(-32px) scale(0.75); }
  [dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
  .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
    -webkit-transform: translateY(-130%) translateX(32px) scale(0.75);
        -ms-transform: translateY(-130%) translateX(32px) scale(0.75);
            transform: translateY(-130%) translateX(32px) scale(0.75); }

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem; }

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1;
          animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1; }

[dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake, .mdc-select--with-leading-icon.mdc-select--outlined[dir="rtl"] .mdc-floating-label--shake {
  -webkit-animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1;
          animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1; }

.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px; }
  [dir="rtl"] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text, .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir="rtl"] {
    /* @noflip */
    padding-left: 32px;
    /* @noflip */
    padding-right: 32px; }

.mdc-select__menu .mdc-list .mdc-list-item--selected {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000); }
  .mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
    background-color: #000; }
    @supports not (-ms-ime-align: auto) {
      .mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
        /* @alternate */
        background-color: var(--mdc-theme-on-surface, #000); } }
  .mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before {
    opacity: 0.04; }
  .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, .mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.16; }
  .mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.16; }

@-webkit-keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {
  0% {
    -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {
  0% {
    -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75); } }

@-webkit-keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); } }

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {
  0% {
    -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); }
  33% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75); }
  66% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75); }
  100% {
    -webkit-transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
            transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75); } }

.mdc-list {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
  margin: 0;
  padding: 8px 0;
  /* @alternate */
  line-height: 1.5rem;
  list-style-type: none; }

.mdc-list-item__secondary-text {
  color: rgba(0, 0, 0, 0.54);
  /* @alternate */
  color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }

.mdc-list-item__graphic {
  background-color: transparent; }

.mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }

.mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }

.mdc-list--dense {
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: .812rem; }

.mdc-list-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 48px;
  padding: 0 16px;
  overflow: hidden; }
  .mdc-list-item:focus {
    outline: none; }

.mdc-list-item--selected,
.mdc-list-item--activated {
  color: #6200ee;
  /* @alternate */
  color: var(--mdc-theme-primary, #6200ee); }
  .mdc-list-item--selected .mdc-list-item__graphic,
  .mdc-list-item--activated .mdc-list-item__graphic {
    color: #6200ee;
    /* @alternate */
    color: var(--mdc-theme-primary, #6200ee); }

.mdc-list-item--disabled {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }

.mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 32px;
  width: 24px;
  height: 24px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  fill: currentColor; }
  .mdc-list-item[dir="rtl"] .mdc-list-item__graphic,
  [dir="rtl"] .mdc-list-item .mdc-list-item__graphic {
    /* @noflip */
    margin-left: 32px;
    /* @noflip */
    margin-right: 0; }

.mdc-list .mdc-list-item__graphic {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex; }

.mdc-list-item__meta {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0; }
  .mdc-list-item[dir="rtl"] .mdc-list-item__meta,
  [dir="rtl"] .mdc-list-item .mdc-list-item__meta {
    /* @noflip */
    margin-left: 0;
    /* @noflip */
    margin-right: auto; }

.mdc-list-item__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.mdc-list-item__text[for] {
  pointer-events: none; }

.mdc-list-item__primary-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
  display: block; }
  .mdc-list-item__primary-text::before {
    display: inline-block;
    width: 0;
    height: 32px;
    content: "";
    vertical-align: 0; }
  .mdc-list-item__primary-text::after {
    display: inline-block;
    width: 0;
    height: 20px;
    content: "";
    vertical-align: -20px; }
  .mdc-list--dense .mdc-list-item__primary-text {
    display: block;
    margin-top: 0;
    /* @alternate */
    line-height: normal;
    margin-bottom: -20px; }
    .mdc-list--dense .mdc-list-item__primary-text::before {
      display: inline-block;
      width: 0;
      height: 24px;
      content: "";
      vertical-align: 0; }
    .mdc-list--dense .mdc-list-item__primary-text::after {
      display: inline-block;
      width: 0;
      height: 20px;
      content: "";
      vertical-align: -20px; }

.mdc-list-item__secondary-text {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.01786em;
  text-decoration: inherit;
  text-transform: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  display: block; }
  .mdc-list-item__secondary-text::before {
    display: inline-block;
    width: 0;
    height: 20px;
    content: "";
    vertical-align: 0; }
  .mdc-list--dense .mdc-list-item__secondary-text {
    display: block;
    margin-top: 0;
    /* @alternate */
    line-height: normal;
    font-size: inherit; }
    .mdc-list--dense .mdc-list-item__secondary-text::before {
      display: inline-block;
      width: 0;
      height: 20px;
      content: "";
      vertical-align: 0; }

.mdc-list--dense .mdc-list-item {
  height: 40px; }

.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 36px;
  width: 20px;
  height: 20px; }
  .mdc-list-item[dir="rtl"] .mdc-list--dense .mdc-list-item__graphic,
  [dir="rtl"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {
    /* @noflip */
    margin-left: 36px;
    /* @noflip */
    margin-right: 0; }

.mdc-list--avatar-list .mdc-list-item {
  height: 56px; }

.mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%; }
  .mdc-list-item[dir="rtl"] .mdc-list--avatar-list .mdc-list-item__graphic,
  [dir="rtl"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {
    /* @noflip */
    margin-left: 16px;
    /* @noflip */
    margin-right: 0; }

.mdc-list--two-line .mdc-list-item__text {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.mdc-list--two-line .mdc-list-item {
  height: 72px; }

.mdc-list--two-line.mdc-list--dense .mdc-list-item {
  height: 60px; }

.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {
  height: 60px; }

.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 20px;
  width: 36px;
  height: 36px; }
  .mdc-list-item[dir="rtl"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,
  [dir="rtl"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
    /* @noflip */
    margin-left: 20px;
    /* @noflip */
    margin-right: 0; }

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  will-change: transform, opacity; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {
    transition: opacity 15ms linear, background-color 15ms linear;
    z-index: 1; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
            transform: scale(var(--mdc-ripple-fg-scale, 1)); }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
    top: 0;
    /* @noflip */
    left: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top, 0);
    /* @noflip */
    left: var(--mdc-ripple-left, 0); }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
            animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
            animation: 150ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
        -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
    top: calc(50% - 100%);
    /* @noflip */
    left: calc(50% - 100%);
    width: 200%;
    height: 200%; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
    width: var(--mdc-ripple-fg-size, 100%);
    height: var(--mdc-ripple-fg-size, 100%); }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
    background-color: #000; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {
    opacity: 0.04; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.12; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.16; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.16; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {
    opacity: 0.12; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {
    background-color: #6200ee; }
    @supports not (-ms-ime-align: auto) {
      :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {
        /* @alternate */
        background-color: var(--mdc-theme-primary, #6200ee); } }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {
    opacity: 0.16; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.24; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.28; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.28; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {
    opacity: 0.08; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {
    background-color: #6200ee; }
    @supports not (-ms-ime-align: auto) {
      :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {
        /* @alternate */
        background-color: var(--mdc-theme-primary, #6200ee); } }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {
    opacity: 0.12; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {
    transition-duration: 75ms;
    opacity: 0.2; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
    transition: opacity 150ms linear; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
    transition-duration: 75ms;
    opacity: 0.24; }
  :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {
    --mdc-ripple-fg-opacity: 0.24; }

a.mdc-list-item {
  color: inherit;
  text-decoration: none; }

.mdc-list-divider {
  height: 0;
  margin: 0;
  border: none;
  border-bottom-width: 1px;
  border-bottom-style: solid; }

.mdc-list-divider {
  border-bottom-color: rgba(0, 0, 0, 0.12); }

.mdc-list-divider--padded {
  margin: 0 16px; }

.mdc-list-divider--inset {
  /* @noflip */
  margin-left: 72px;
  /* @noflip */
  margin-right: 0;
  width: calc(100% - 72px); }
  .mdc-list-group[dir="rtl"] .mdc-list-divider--inset,
  [dir="rtl"] .mdc-list-group .mdc-list-divider--inset {
    /* @noflip */
    margin-left: 0;
    /* @noflip */
    margin-right: 72px; }

.mdc-list-divider--inset.mdc-list-divider--padded {
  width: calc(100% - 72px - 16px); }

.mdc-list-group .mdc-list {
  padding: 0; }

.mdc-list-group__subheader {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  margin: 0.75rem 16px; }

.mdc-list-group__subheader {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }

.mdc-menu-surface {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
  /* @noflip */
  transform-origin-left: top left;
  /* @noflip */
  transform-origin-right: top right;
  border-radius: 4px;
  display: none;
  position: absolute;
  box-sizing: border-box;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: 0;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
  opacity: 0;
  overflow: auto;
  will-change: transform, opacity;
  z-index: 8; }
  [dir="rtl"] .mdc-menu-surface, .mdc-menu-surface[dir="rtl"] {
    /* @noflip */
    transform-origin-left: top right;
    /* @noflip */
    transform-origin-right: top left; }
  .mdc-menu-surface:focus {
    outline: none; }
  .mdc-menu-surface--animating-open {
    display: inline-block;
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8);
    transition: opacity 0.03s linear, -webkit-transform 0.12s cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.12s cubic-bezier(0, 0, 0.2, 1);
    opacity: 0; }
  .mdc-menu-surface--open {
    display: inline-block;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  .mdc-menu-surface--animating-closed {
    display: inline-block;
    transition: opacity 0.075s linear;
    opacity: 0; }

.mdc-menu-surface--anchor {
  position: relative;
  overflow: visible; }

.mdc-menu-surface--fixed {
  position: fixed; }

.mdc-menu {
  min-width: 112px; }
  .mdc-menu .mdc-list-item__meta {
    color: rgba(0, 0, 0, 0.87);
    /* @alternate */
    color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }
  .mdc-menu .mdc-list-item__graphic {
    color: rgba(0, 0, 0, 0.87);
    /* @alternate */
    color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }
  .mdc-menu .mdc-list-divider {
    margin: 8px 0; }
  .mdc-menu .mdc-list-item {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .mdc-menu .mdc-list-item--disabled {
    cursor: auto; }
  .mdc-menu a.mdc-list-item .mdc-list-item__text,
  .mdc-menu a.mdc-list-item .mdc-list-item__graphic {
    pointer-events: none; }

.mdc-menu__selection-group {
  padding: 0;
  fill: currentColor; }
  .mdc-menu__selection-group .mdc-list-item {
    /* @noflip */
    padding-left: 56px;
    /* @noflip */
    padding-right: 0; }
    [dir="rtl"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir="rtl"] {
      /* @noflip */
      padding-left: 0;
      /* @noflip */
      padding-right: 56px; }
  .mdc-menu__selection-group .mdc-menu__selection-group-icon {
    /* @noflip */
    left: 16px;
    /* @noflip */
    right: initial;
    display: none;
    position: absolute; }
    [dir="rtl"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir="rtl"] {
      /* @noflip */
      left: initial;
      /* @noflip */
      right: 16px; }

.mdc-menu-item--selected .mdc-menu__selection-group-icon {
  display: inline; }

@-webkit-keyframes primary-indeterminate-translate {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  59.15% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(83.67142%);
            transform: translateX(83.67142%); }
  100% {
    -webkit-transform: translateX(200.61106%);
            transform: translateX(200.61106%); } }

@keyframes primary-indeterminate-translate {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  59.15% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(83.67142%);
            transform: translateX(83.67142%); }
  100% {
    -webkit-transform: translateX(200.61106%);
            transform: translateX(200.61106%); } }

@-webkit-keyframes primary-indeterminate-scale {
  0% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  36.65% {
    -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
            animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  69.15% {
    -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);
            animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);
    -webkit-transform: scaleX(0.66148);
            transform: scaleX(0.66148); }
  100% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); } }

@keyframes primary-indeterminate-scale {
  0% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  36.65% {
    -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
            animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  69.15% {
    -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);
            animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);
    -webkit-transform: scaleX(0.66148);
            transform: scaleX(0.66148); }
  100% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); } }

@-webkit-keyframes secondary-indeterminate-translate {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
            animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  25% {
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
            animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
    -webkit-transform: translateX(37.65191%);
            transform: translateX(37.65191%); }
  48.35% {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
            animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
    -webkit-transform: translateX(84.38617%);
            transform: translateX(84.38617%); }
  100% {
    -webkit-transform: translateX(160.27778%);
            transform: translateX(160.27778%); } }

@keyframes secondary-indeterminate-translate {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
            animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  25% {
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
            animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
    -webkit-transform: translateX(37.65191%);
            transform: translateX(37.65191%); }
  48.35% {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
            animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
    -webkit-transform: translateX(84.38617%);
            transform: translateX(84.38617%); }
  100% {
    -webkit-transform: translateX(160.27778%);
            transform: translateX(160.27778%); } }

@-webkit-keyframes secondary-indeterminate-scale {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
            animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  19.15% {
    -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
            animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
    -webkit-transform: scaleX(0.4571);
            transform: scaleX(0.4571); }
  44.15% {
    -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
            animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
    -webkit-transform: scaleX(0.72796);
            transform: scaleX(0.72796); }
  100% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); } }

@keyframes secondary-indeterminate-scale {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
            animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); }
  19.15% {
    -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
            animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
    -webkit-transform: scaleX(0.4571);
            transform: scaleX(0.4571); }
  44.15% {
    -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
            animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
    -webkit-transform: scaleX(0.72796);
            transform: scaleX(0.72796); }
  100% {
    -webkit-transform: scaleX(0.08);
            transform: scaleX(0.08); } }

@-webkit-keyframes buffering {
  to {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); } }

@keyframes buffering {
  to {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); } }

@-webkit-keyframes primary-indeterminate-translate-reverse {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  59.15% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(-83.67142%);
            transform: translateX(-83.67142%); }
  100% {
    -webkit-transform: translateX(-200.61106%);
            transform: translateX(-200.61106%); } }

@keyframes primary-indeterminate-translate-reverse {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
            animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  59.15% {
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
            animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    -webkit-transform: translateX(-83.67142%);
            transform: translateX(-83.67142%); }
  100% {
    -webkit-transform: translateX(-200.61106%);
            transform: translateX(-200.61106%); } }

@-webkit-keyframes secondary-indeterminate-translate-reverse {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
            animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  25% {
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
            animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
    -webkit-transform: translateX(-37.65191%);
            transform: translateX(-37.65191%); }
  48.35% {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
            animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
    -webkit-transform: translateX(-84.38617%);
            transform: translateX(-84.38617%); }
  100% {
    -webkit-transform: translateX(-160.27778%);
            transform: translateX(-160.27778%); } }

@keyframes secondary-indeterminate-translate-reverse {
  0% {
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
            animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969);
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  25% {
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
            animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371);
    -webkit-transform: translateX(-37.65191%);
            transform: translateX(-37.65191%); }
  48.35% {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
            animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203);
    -webkit-transform: translateX(-84.38617%);
            transform: translateX(-84.38617%); }
  100% {
    -webkit-transform: translateX(-160.27778%);
            transform: translateX(-160.27778%); } }

@-webkit-keyframes buffering-reverse {
  to {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

@keyframes buffering-reverse {
  to {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

.mdc-linear-progress {
  position: relative;
  width: 100%;
  height: 4px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  transition: opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  overflow: hidden; }
  .mdc-linear-progress__bar {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-animation: none;
            animation: none;
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }
  .mdc-linear-progress__bar-inner {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-animation: none;
            animation: none; }
  .mdc-linear-progress__buffering-dots {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-animation: buffering 250ms infinite linear;
            animation: buffering 250ms infinite linear;
    background-repeat: repeat-x;
    background-size: 10px 4px; }
  .mdc-linear-progress__buffer {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
    transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); }
  .mdc-linear-progress__primary-bar {
    -webkit-transform: scaleX(0);
        -ms-transform: scaleX(0);
            transform: scaleX(0); }
  .mdc-linear-progress__secondary-bar {
    visibility: hidden; }
  .mdc-linear-progress--indeterminate .mdc-linear-progress__bar {
    transition: none; }
  .mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar {
    left: -145.166611%;
    -webkit-animation: primary-indeterminate-translate 2s infinite linear;
            animation: primary-indeterminate-translate 2s infinite linear; }
    .mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar > .mdc-linear-progress__bar-inner {
      -webkit-animation: primary-indeterminate-scale 2s infinite linear;
              animation: primary-indeterminate-scale 2s infinite linear; }
  .mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar {
    left: -54.888891%;
    -webkit-animation: secondary-indeterminate-translate 2s infinite linear;
            animation: secondary-indeterminate-translate 2s infinite linear;
    visibility: visible; }
    .mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar > .mdc-linear-progress__bar-inner {
      -webkit-animation: secondary-indeterminate-scale 2s infinite linear;
              animation: secondary-indeterminate-scale 2s infinite linear; }
  .mdc-linear-progress--reversed .mdc-linear-progress__bar,
  .mdc-linear-progress--reversed .mdc-linear-progress__buffer {
    right: 0;
    -webkit-transform-origin: center right;
        -ms-transform-origin: center right;
            transform-origin: center right; }
  .mdc-linear-progress--reversed .mdc-linear-progress__primary-bar {
    -webkit-animation-name: primary-indeterminate-translate-reverse;
            animation-name: primary-indeterminate-translate-reverse; }
  .mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar {
    -webkit-animation-name: secondary-indeterminate-translate-reverse;
            animation-name: secondary-indeterminate-translate-reverse; }
  .mdc-linear-progress--reversed .mdc-linear-progress__buffering-dots {
    -webkit-animation: buffering-reverse 250ms infinite linear;
            animation: buffering-reverse 250ms infinite linear; }
  .mdc-linear-progress--closed {
    opacity: 0; }

.mdc-linear-progress__bar-inner {
  background-color: #6200ee;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #6200ee); }

.mdc-linear-progress__buffering-dots {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E"); }

.mdc-linear-progress__buffer {
  background-color: #e6e6e6; }

.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar {
  right: -145.166611%;
  left: auto; }

.mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar {
  right: -54.888891%;
  left: auto; }

/*!
 Material Components for the Web
 Copyright (c) 2019 Google Inc.
 License: MIT
*/
.mdc-dialog,
.mdc-dialog__scrim {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%; }

.mdc-dialog {
  display: none;
  z-index: 7; }

.mdc-dialog .mdc-dialog__surface {
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff); }

.mdc-dialog .mdc-dialog__scrim {
  background-color: rgba(0, 0, 0, 0.32); }

.mdc-dialog .mdc-dialog__title {
  color: rgba(0, 0, 0, 0.87); }

.mdc-dialog .mdc-dialog__content {
  color: rgba(0, 0, 0, 0.6); }

.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title, .mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions {
  border-color: rgba(0, 0, 0, 0.12); }

.mdc-dialog .mdc-dialog__surface {
  min-width: 280px; }

@media (max-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: calc(100vw - 32px); } }

@media (min-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: 560px; } }

.mdc-dialog .mdc-dialog__surface {
  max-height: calc(100vh - 32px); }

.mdc-dialog .mdc-dialog__surface {
  border-radius: 4px; }

.mdc-dialog__scrim {
  opacity: 0;
  z-index: -1; }

.mdc-dialog__container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  box-sizing: border-box;
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
      transform: scale(0.8);
  opacity: 0; }

.mdc-dialog__surface {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%; }

.mdc-dialog[dir=rtl] .mdc-dialog__surface, [dir=rtl] .mdc-dialog .mdc-dialog__surface {
  text-align: right; }

.mdc-dialog__title {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.25rem;
  line-height: 2rem;
  font-weight: 500;
  letter-spacing: 0.0125em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 24px 9px;
  border-bottom: 1px solid transparent; }

.mdc-dialog__title::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0; }

.mdc-dialog[dir=rtl] .mdc-dialog__title, [dir=rtl] .mdc-dialog .mdc-dialog__title {
  text-align: right; }

.mdc-dialog--scrollable .mdc-dialog__title {
  padding-bottom: 15px; }

.mdc-dialog__content {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03125em;
  text-decoration: inherit;
  text-transform: inherit;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 24px;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.mdc-dialog__content > :first-child {
  margin-top: 0; }

.mdc-dialog__content > :last-child {
  margin-bottom: 0; }

.mdc-dialog__title + .mdc-dialog__content {
  padding-top: 0; }

.mdc-dialog--scrollable .mdc-dialog__content {
  padding-top: 8px;
  padding-bottom: 8px; }

.mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 6px 0 0; }

.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 0; }

.mdc-dialog__actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  box-sizing: border-box;
  min-height: 52px;
  margin: 0;
  padding: 8px;
  border-top: 1px solid transparent; }

.mdc-dialog--stacked .mdc-dialog__actions {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.mdc-dialog__button {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
  max-width: 100%;
  text-align: right; }

[dir=rtl] .mdc-dialog__button, .mdc-dialog__button[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px; }

.mdc-dialog__button:first-child {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0; }

[dir=rtl] .mdc-dialog__button:first-child, .mdc-dialog__button:first-child[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0; }

.mdc-dialog[dir=rtl] .mdc-dialog__button, [dir=rtl] .mdc-dialog .mdc-dialog__button {
  text-align: left; }

.mdc-dialog--stacked .mdc-dialog__button:not(:first-child) {
  margin-top: 12px; }

.mdc-dialog--open,
.mdc-dialog--opening,
.mdc-dialog--closing {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.mdc-dialog--opening .mdc-dialog__scrim {
  transition: opacity 150ms linear; }

.mdc-dialog--opening .mdc-dialog__container {
  transition: opacity 75ms linear, -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1); }

.mdc-dialog--closing .mdc-dialog__scrim,
.mdc-dialog--closing .mdc-dialog__container {
  transition: opacity 75ms linear; }

.mdc-dialog--closing .mdc-dialog__container {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
      transform: scale(1); }

.mdc-dialog--open .mdc-dialog__scrim {
  opacity: 1; }

.mdc-dialog--open .mdc-dialog__container {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.mdc-dialog-scroll-lock {
  overflow: hidden; }

/*# sourceMappingURL=mdc.dialog.css.map*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=125em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Karla", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0.25rem; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0.25rem; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4, .form-section-header, .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp,
h5, .h5, .ood-wp-alert-error, .templates .template .template-details a .template-name,
h6, .h6, .form-section-subheader {
  font-family: "Karla", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small, .form-section-header small, .reveal-header-input-label .reveal-header-input small, .reveal-header-input-label .reveal-header-input-temp small,
  h5 small, .h5 small, .ood-wp-alert-error small, .templates .template .template-details a .template-name small,
  h6 small, .h6 small, .form-section-subheader small {
    line-height: 0;
    color: #929292; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4, .form-section-header, .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5, .ood-wp-alert-error, .templates .template .template-details a .template-name {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6, .form-section-subheader {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.25rem; }
  h2, .h2 {
    font-size: 2rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4, .form-section-header, .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp {
    font-size: 1.5rem; }
  h5, .h5, .ood-wp-alert-error, .templates .template .template-details a .template-name {
    font-size: 1.25rem; }
  h6, .h6, .form-section-subheader {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #d41296;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #b60f81; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #929292;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #929292; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #666666; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #666666; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #333;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #929292;
  background-color: #ebebeb;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #333; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #ebebeb;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #333;
  border-radius: 0.25rem; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #666666; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #666666;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .file_div_clean.wfu_container input[type="button"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #d41296;
  color: #fefefe; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container [data-whatinput='mouse'] input[type="button"] {
    outline: 0; }
  .button:hover, .file_div_clean.wfu_container input:hover[type="button"], .button:focus, .file_div_clean.wfu_container input:focus[type="button"] {
    background-color: #b40f80;
    color: #fefefe; }
  .button.tiny, .file_div_clean.wfu_container input.tiny[type="button"] {
    font-size: 0.6rem; }
  .button.small, .file_div_clean.wfu_container input.small[type="button"] {
    font-size: 0.75rem; }
  .button.large, .file_div_clean.wfu_container input.large[type="button"] {
    font-size: 1.25rem; }
  .button.expanded, .file_div_clean.wfu_container input.expanded[type="button"] {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .file_div_clean.wfu_container input.primary[type="button"] {
    background-color: #d41296;
    color: #fefefe; }
    .button.primary:hover, .file_div_clean.wfu_container input.primary:hover[type="button"], .button.primary:focus, .file_div_clean.wfu_container input.primary:focus[type="button"] {
      background-color: #aa0e78;
      color: #fefefe; }
  .button.secondary, .file_div_clean.wfu_container input.secondary[type="button"] {
    background-color: #e5f7fd;
    color: #333; }
    .button.secondary:hover, .file_div_clean.wfu_container input.secondary:hover[type="button"], .button.secondary:focus, .file_div_clean.wfu_container input.secondary:focus[type="button"] {
      background-color: #8bdbf6;
      color: #333; }
  .button.success, .file_div_clean.wfu_container input.success[type="button"] {
    background-color: #3adb76;
    color: #333; }
    .button.success:hover, .file_div_clean.wfu_container input.success:hover[type="button"], .button.success:focus, .file_div_clean.wfu_container input.success:focus[type="button"] {
      background-color: #22bb5b;
      color: #333; }
  .button.warning, .file_div_clean.wfu_container input.warning[type="button"] {
    background-color: #ffae00;
    color: #333; }
    .button.warning:hover, .file_div_clean.wfu_container input.warning:hover[type="button"], .button.warning:focus, .file_div_clean.wfu_container input.warning:focus[type="button"] {
      background-color: #cc8b00;
      color: #333; }
  .button.alert, .file_div_clean.wfu_container input.alert[type="button"] {
    background-color: #d64b13;
    color: #fefefe; }
    .button.alert:hover, .file_div_clean.wfu_container input.alert:hover[type="button"], .button.alert:focus, .file_div_clean.wfu_container input.alert:focus[type="button"] {
      background-color: #ab3c0f;
      color: #fefefe; }
  .button.disabled, .file_div_clean.wfu_container input.disabled[type="button"], .button[disabled], .file_div_clean.wfu_container input[disabled][type="button"] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .file_div_clean.wfu_container input.disabled[type="button"], .button.disabled:hover, .file_div_clean.wfu_container input.disabled:hover[type="button"], .button.disabled:focus, .file_div_clean.wfu_container input.disabled:focus[type="button"], .button[disabled], .file_div_clean.wfu_container input[disabled][type="button"], .button[disabled]:hover, .file_div_clean.wfu_container input[disabled]:hover[type="button"], .button[disabled]:focus, .file_div_clean.wfu_container input[disabled]:focus[type="button"] {
      background-color: #d41296;
      color: #fefefe; }
    .button.disabled.primary, .file_div_clean.wfu_container input.disabled.primary[type="button"], .button[disabled].primary, .file_div_clean.wfu_container input[disabled].primary[type="button"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .file_div_clean.wfu_container input.disabled.primary[type="button"], .button.disabled.primary:hover, .file_div_clean.wfu_container input.disabled.primary:hover[type="button"], .button.disabled.primary:focus, .file_div_clean.wfu_container input.disabled.primary:focus[type="button"], .button[disabled].primary, .file_div_clean.wfu_container input[disabled].primary[type="button"], .button[disabled].primary:hover, .file_div_clean.wfu_container input[disabled].primary:hover[type="button"], .button[disabled].primary:focus, .file_div_clean.wfu_container input[disabled].primary:focus[type="button"] {
        background-color: #d41296;
        color: #fefefe; }
    .button.disabled.secondary, .file_div_clean.wfu_container input.disabled.secondary[type="button"], .button[disabled].secondary, .file_div_clean.wfu_container input[disabled].secondary[type="button"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .file_div_clean.wfu_container input.disabled.secondary[type="button"], .button.disabled.secondary:hover, .file_div_clean.wfu_container input.disabled.secondary:hover[type="button"], .button.disabled.secondary:focus, .file_div_clean.wfu_container input.disabled.secondary:focus[type="button"], .button[disabled].secondary, .file_div_clean.wfu_container input[disabled].secondary[type="button"], .button[disabled].secondary:hover, .file_div_clean.wfu_container input[disabled].secondary:hover[type="button"], .button[disabled].secondary:focus, .file_div_clean.wfu_container input[disabled].secondary:focus[type="button"] {
        background-color: #e5f7fd;
        color: #333; }
    .button.disabled.success, .file_div_clean.wfu_container input.disabled.success[type="button"], .button[disabled].success, .file_div_clean.wfu_container input[disabled].success[type="button"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .file_div_clean.wfu_container input.disabled.success[type="button"], .button.disabled.success:hover, .file_div_clean.wfu_container input.disabled.success:hover[type="button"], .button.disabled.success:focus, .file_div_clean.wfu_container input.disabled.success:focus[type="button"], .button[disabled].success, .file_div_clean.wfu_container input[disabled].success[type="button"], .button[disabled].success:hover, .file_div_clean.wfu_container input[disabled].success:hover[type="button"], .button[disabled].success:focus, .file_div_clean.wfu_container input[disabled].success:focus[type="button"] {
        background-color: #3adb76;
        color: #333; }
    .button.disabled.warning, .file_div_clean.wfu_container input.disabled.warning[type="button"], .button[disabled].warning, .file_div_clean.wfu_container input[disabled].warning[type="button"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .file_div_clean.wfu_container input.disabled.warning[type="button"], .button.disabled.warning:hover, .file_div_clean.wfu_container input.disabled.warning:hover[type="button"], .button.disabled.warning:focus, .file_div_clean.wfu_container input.disabled.warning:focus[type="button"], .button[disabled].warning, .file_div_clean.wfu_container input[disabled].warning[type="button"], .button[disabled].warning:hover, .file_div_clean.wfu_container input[disabled].warning:hover[type="button"], .button[disabled].warning:focus, .file_div_clean.wfu_container input[disabled].warning:focus[type="button"] {
        background-color: #ffae00;
        color: #333; }
    .button.disabled.alert, .file_div_clean.wfu_container input.disabled.alert[type="button"], .button[disabled].alert, .file_div_clean.wfu_container input[disabled].alert[type="button"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .file_div_clean.wfu_container input.disabled.alert[type="button"], .button.disabled.alert:hover, .file_div_clean.wfu_container input.disabled.alert:hover[type="button"], .button.disabled.alert:focus, .file_div_clean.wfu_container input.disabled.alert:focus[type="button"], .button[disabled].alert, .file_div_clean.wfu_container input[disabled].alert[type="button"], .button[disabled].alert:hover, .file_div_clean.wfu_container input[disabled].alert:hover[type="button"], .button[disabled].alert:focus, .file_div_clean.wfu_container input[disabled].alert:focus[type="button"] {
        background-color: #d64b13;
        color: #fefefe; }
  .button.hollow, .file_div_clean.wfu_container input.hollow[type="button"] {
    border: 1px solid #d41296;
    color: #d41296; }
    .button.hollow, .file_div_clean.wfu_container input.hollow[type="button"], .button.hollow:hover, .file_div_clean.wfu_container input.hollow:hover[type="button"], .button.hollow:focus, .file_div_clean.wfu_container input.hollow:focus[type="button"] {
      background-color: transparent; }
    .button.hollow.disabled, .file_div_clean.wfu_container input.hollow.disabled[type="button"], .button.hollow.disabled:hover, .file_div_clean.wfu_container input.hollow.disabled:hover[type="button"], .button.hollow.disabled:focus, .file_div_clean.wfu_container input.hollow.disabled:focus[type="button"], .button.hollow[disabled], .file_div_clean.wfu_container input.hollow[disabled][type="button"], .button.hollow[disabled]:hover, .file_div_clean.wfu_container input.hollow[disabled]:hover[type="button"], .button.hollow[disabled]:focus, .file_div_clean.wfu_container input.hollow[disabled]:focus[type="button"] {
      background-color: transparent; }
    .button.hollow:hover, .file_div_clean.wfu_container input.hollow:hover[type="button"], .button.hollow:focus, .file_div_clean.wfu_container input.hollow:focus[type="button"] {
      border-color: #6a094b;
      color: #6a094b; }
      .button.hollow:hover.disabled, .file_div_clean.wfu_container input.hollow:hover.disabled[type="button"], .button.hollow:hover[disabled], .file_div_clean.wfu_container input.hollow:hover[disabled][type="button"], .button.hollow:focus.disabled, .file_div_clean.wfu_container input.hollow:focus.disabled[type="button"], .button.hollow:focus[disabled], .file_div_clean.wfu_container input.hollow:focus[disabled][type="button"] {
        border: 1px solid #d41296;
        color: #d41296; }
    .button.hollow.primary, .file_div_clean.wfu_container input.hollow.primary[type="button"] {
      border: 1px solid #d41296;
      color: #d41296; }
      .button.hollow.primary:hover, .file_div_clean.wfu_container input.hollow.primary:hover[type="button"], .button.hollow.primary:focus, .file_div_clean.wfu_container input.hollow.primary:focus[type="button"] {
        border-color: #6a094b;
        color: #6a094b; }
        .button.hollow.primary:hover.disabled, .file_div_clean.wfu_container input.hollow.primary:hover.disabled[type="button"], .button.hollow.primary:hover[disabled], .file_div_clean.wfu_container input.hollow.primary:hover[disabled][type="button"], .button.hollow.primary:focus.disabled, .file_div_clean.wfu_container input.hollow.primary:focus.disabled[type="button"], .button.hollow.primary:focus[disabled], .file_div_clean.wfu_container input.hollow.primary:focus[disabled][type="button"] {
          border: 1px solid #d41296;
          color: #d41296; }
    .button.hollow.secondary, .file_div_clean.wfu_container input.hollow.secondary[type="button"] {
      border: 1px solid #e5f7fd;
      color: #e5f7fd; }
      .button.hollow.secondary:hover, .file_div_clean.wfu_container input.hollow.secondary:hover[type="button"], .button.hollow.secondary:focus, .file_div_clean.wfu_container input.hollow.secondary:focus[type="button"] {
        border-color: #11ace0;
        color: #11ace0; }
        .button.hollow.secondary:hover.disabled, .file_div_clean.wfu_container input.hollow.secondary:hover.disabled[type="button"], .button.hollow.secondary:hover[disabled], .file_div_clean.wfu_container input.hollow.secondary:hover[disabled][type="button"], .button.hollow.secondary:focus.disabled, .file_div_clean.wfu_container input.hollow.secondary:focus.disabled[type="button"], .button.hollow.secondary:focus[disabled], .file_div_clean.wfu_container input.hollow.secondary:focus[disabled][type="button"] {
          border: 1px solid #e5f7fd;
          color: #e5f7fd; }
    .button.hollow.success, .file_div_clean.wfu_container input.hollow.success[type="button"] {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .file_div_clean.wfu_container input.hollow.success:hover[type="button"], .button.hollow.success:focus, .file_div_clean.wfu_container input.hollow.success:focus[type="button"] {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .file_div_clean.wfu_container input.hollow.success:hover.disabled[type="button"], .button.hollow.success:hover[disabled], .file_div_clean.wfu_container input.hollow.success:hover[disabled][type="button"], .button.hollow.success:focus.disabled, .file_div_clean.wfu_container input.hollow.success:focus.disabled[type="button"], .button.hollow.success:focus[disabled], .file_div_clean.wfu_container input.hollow.success:focus[disabled][type="button"] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning, .file_div_clean.wfu_container input.hollow.warning[type="button"] {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .file_div_clean.wfu_container input.hollow.warning:hover[type="button"], .button.hollow.warning:focus, .file_div_clean.wfu_container input.hollow.warning:focus[type="button"] {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .file_div_clean.wfu_container input.hollow.warning:hover.disabled[type="button"], .button.hollow.warning:hover[disabled], .file_div_clean.wfu_container input.hollow.warning:hover[disabled][type="button"], .button.hollow.warning:focus.disabled, .file_div_clean.wfu_container input.hollow.warning:focus.disabled[type="button"], .button.hollow.warning:focus[disabled], .file_div_clean.wfu_container input.hollow.warning:focus[disabled][type="button"] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert, .file_div_clean.wfu_container input.hollow.alert[type="button"] {
      border: 1px solid #d64b13;
      color: #d64b13; }
      .button.hollow.alert:hover, .file_div_clean.wfu_container input.hollow.alert:hover[type="button"], .button.hollow.alert:focus, .file_div_clean.wfu_container input.hollow.alert:focus[type="button"] {
        border-color: #6b260a;
        color: #6b260a; }
        .button.hollow.alert:hover.disabled, .file_div_clean.wfu_container input.hollow.alert:hover.disabled[type="button"], .button.hollow.alert:hover[disabled], .file_div_clean.wfu_container input.hollow.alert:hover[disabled][type="button"], .button.hollow.alert:focus.disabled, .file_div_clean.wfu_container input.hollow.alert:focus.disabled[type="button"], .button.hollow.alert:focus[disabled], .file_div_clean.wfu_container input.hollow.alert:focus[disabled][type="button"] {
          border: 1px solid #d64b13;
          color: #d64b13; }
  .button.clear, .file_div_clean.wfu_container input.clear[type="button"] {
    border: 1px solid #d41296;
    color: #d41296; }
    .button.clear, .file_div_clean.wfu_container input.clear[type="button"], .button.clear:hover, .file_div_clean.wfu_container input.clear:hover[type="button"], .button.clear:focus, .file_div_clean.wfu_container input.clear:focus[type="button"] {
      background-color: transparent; }
    .button.clear.disabled, .file_div_clean.wfu_container input.clear.disabled[type="button"], .button.clear.disabled:hover, .file_div_clean.wfu_container input.clear.disabled:hover[type="button"], .button.clear.disabled:focus, .file_div_clean.wfu_container input.clear.disabled:focus[type="button"], .button.clear[disabled], .file_div_clean.wfu_container input.clear[disabled][type="button"], .button.clear[disabled]:hover, .file_div_clean.wfu_container input.clear[disabled]:hover[type="button"], .button.clear[disabled]:focus, .file_div_clean.wfu_container input.clear[disabled]:focus[type="button"] {
      background-color: transparent; }
    .button.clear:hover, .file_div_clean.wfu_container input.clear:hover[type="button"], .button.clear:focus, .file_div_clean.wfu_container input.clear:focus[type="button"] {
      border-color: #6a094b;
      color: #6a094b; }
      .button.clear:hover.disabled, .file_div_clean.wfu_container input.clear:hover.disabled[type="button"], .button.clear:hover[disabled], .file_div_clean.wfu_container input.clear:hover[disabled][type="button"], .button.clear:focus.disabled, .file_div_clean.wfu_container input.clear:focus.disabled[type="button"], .button.clear:focus[disabled], .file_div_clean.wfu_container input.clear:focus[disabled][type="button"] {
        border: 1px solid #d41296;
        color: #d41296; }
    .button.clear, .file_div_clean.wfu_container input.clear[type="button"], .button.clear.disabled, .file_div_clean.wfu_container input.clear.disabled[type="button"], .button.clear[disabled], .file_div_clean.wfu_container input.clear[disabled][type="button"], .button.clear:hover, .file_div_clean.wfu_container input.clear:hover[type="button"], .button.clear:hover.disabled, .file_div_clean.wfu_container input.clear:hover.disabled[type="button"], .button.clear:hover[disabled], .file_div_clean.wfu_container input.clear:hover[disabled][type="button"], .button.clear:focus, .file_div_clean.wfu_container input.clear:focus[type="button"], .button.clear:focus.disabled, .file_div_clean.wfu_container input.clear:focus.disabled[type="button"], .button.clear:focus[disabled], .file_div_clean.wfu_container input.clear:focus[disabled][type="button"] {
      border-color: transparent; }
    .button.clear.primary, .file_div_clean.wfu_container input.clear.primary[type="button"] {
      border: 1px solid #d41296;
      color: #d41296; }
      .button.clear.primary:hover, .file_div_clean.wfu_container input.clear.primary:hover[type="button"], .button.clear.primary:focus, .file_div_clean.wfu_container input.clear.primary:focus[type="button"] {
        border-color: #6a094b;
        color: #6a094b; }
        .button.clear.primary:hover.disabled, .file_div_clean.wfu_container input.clear.primary:hover.disabled[type="button"], .button.clear.primary:hover[disabled], .file_div_clean.wfu_container input.clear.primary:hover[disabled][type="button"], .button.clear.primary:focus.disabled, .file_div_clean.wfu_container input.clear.primary:focus.disabled[type="button"], .button.clear.primary:focus[disabled], .file_div_clean.wfu_container input.clear.primary:focus[disabled][type="button"] {
          border: 1px solid #d41296;
          color: #d41296; }
      .button.clear.primary, .file_div_clean.wfu_container input.clear.primary[type="button"], .button.clear.primary.disabled, .file_div_clean.wfu_container input.clear.primary.disabled[type="button"], .button.clear.primary[disabled], .file_div_clean.wfu_container input.clear.primary[disabled][type="button"], .button.clear.primary:hover, .file_div_clean.wfu_container input.clear.primary:hover[type="button"], .button.clear.primary:hover.disabled, .file_div_clean.wfu_container input.clear.primary:hover.disabled[type="button"], .button.clear.primary:hover[disabled], .file_div_clean.wfu_container input.clear.primary:hover[disabled][type="button"], .button.clear.primary:focus, .file_div_clean.wfu_container input.clear.primary:focus[type="button"], .button.clear.primary:focus.disabled, .file_div_clean.wfu_container input.clear.primary:focus.disabled[type="button"], .button.clear.primary:focus[disabled], .file_div_clean.wfu_container input.clear.primary:focus[disabled][type="button"] {
        border-color: transparent; }
    .button.clear.secondary, .file_div_clean.wfu_container input.clear.secondary[type="button"] {
      border: 1px solid #e5f7fd;
      color: #e5f7fd; }
      .button.clear.secondary:hover, .file_div_clean.wfu_container input.clear.secondary:hover[type="button"], .button.clear.secondary:focus, .file_div_clean.wfu_container input.clear.secondary:focus[type="button"] {
        border-color: #11ace0;
        color: #11ace0; }
        .button.clear.secondary:hover.disabled, .file_div_clean.wfu_container input.clear.secondary:hover.disabled[type="button"], .button.clear.secondary:hover[disabled], .file_div_clean.wfu_container input.clear.secondary:hover[disabled][type="button"], .button.clear.secondary:focus.disabled, .file_div_clean.wfu_container input.clear.secondary:focus.disabled[type="button"], .button.clear.secondary:focus[disabled], .file_div_clean.wfu_container input.clear.secondary:focus[disabled][type="button"] {
          border: 1px solid #e5f7fd;
          color: #e5f7fd; }
      .button.clear.secondary, .file_div_clean.wfu_container input.clear.secondary[type="button"], .button.clear.secondary.disabled, .file_div_clean.wfu_container input.clear.secondary.disabled[type="button"], .button.clear.secondary[disabled], .file_div_clean.wfu_container input.clear.secondary[disabled][type="button"], .button.clear.secondary:hover, .file_div_clean.wfu_container input.clear.secondary:hover[type="button"], .button.clear.secondary:hover.disabled, .file_div_clean.wfu_container input.clear.secondary:hover.disabled[type="button"], .button.clear.secondary:hover[disabled], .file_div_clean.wfu_container input.clear.secondary:hover[disabled][type="button"], .button.clear.secondary:focus, .file_div_clean.wfu_container input.clear.secondary:focus[type="button"], .button.clear.secondary:focus.disabled, .file_div_clean.wfu_container input.clear.secondary:focus.disabled[type="button"], .button.clear.secondary:focus[disabled], .file_div_clean.wfu_container input.clear.secondary:focus[disabled][type="button"] {
        border-color: transparent; }
    .button.clear.success, .file_div_clean.wfu_container input.clear.success[type="button"] {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .file_div_clean.wfu_container input.clear.success:hover[type="button"], .button.clear.success:focus, .file_div_clean.wfu_container input.clear.success:focus[type="button"] {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .file_div_clean.wfu_container input.clear.success:hover.disabled[type="button"], .button.clear.success:hover[disabled], .file_div_clean.wfu_container input.clear.success:hover[disabled][type="button"], .button.clear.success:focus.disabled, .file_div_clean.wfu_container input.clear.success:focus.disabled[type="button"], .button.clear.success:focus[disabled], .file_div_clean.wfu_container input.clear.success:focus[disabled][type="button"] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .file_div_clean.wfu_container input.clear.success[type="button"], .button.clear.success.disabled, .file_div_clean.wfu_container input.clear.success.disabled[type="button"], .button.clear.success[disabled], .file_div_clean.wfu_container input.clear.success[disabled][type="button"], .button.clear.success:hover, .file_div_clean.wfu_container input.clear.success:hover[type="button"], .button.clear.success:hover.disabled, .file_div_clean.wfu_container input.clear.success:hover.disabled[type="button"], .button.clear.success:hover[disabled], .file_div_clean.wfu_container input.clear.success:hover[disabled][type="button"], .button.clear.success:focus, .file_div_clean.wfu_container input.clear.success:focus[type="button"], .button.clear.success:focus.disabled, .file_div_clean.wfu_container input.clear.success:focus.disabled[type="button"], .button.clear.success:focus[disabled], .file_div_clean.wfu_container input.clear.success:focus[disabled][type="button"] {
        border-color: transparent; }
    .button.clear.warning, .file_div_clean.wfu_container input.clear.warning[type="button"] {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .file_div_clean.wfu_container input.clear.warning:hover[type="button"], .button.clear.warning:focus, .file_div_clean.wfu_container input.clear.warning:focus[type="button"] {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .file_div_clean.wfu_container input.clear.warning:hover.disabled[type="button"], .button.clear.warning:hover[disabled], .file_div_clean.wfu_container input.clear.warning:hover[disabled][type="button"], .button.clear.warning:focus.disabled, .file_div_clean.wfu_container input.clear.warning:focus.disabled[type="button"], .button.clear.warning:focus[disabled], .file_div_clean.wfu_container input.clear.warning:focus[disabled][type="button"] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .file_div_clean.wfu_container input.clear.warning[type="button"], .button.clear.warning.disabled, .file_div_clean.wfu_container input.clear.warning.disabled[type="button"], .button.clear.warning[disabled], .file_div_clean.wfu_container input.clear.warning[disabled][type="button"], .button.clear.warning:hover, .file_div_clean.wfu_container input.clear.warning:hover[type="button"], .button.clear.warning:hover.disabled, .file_div_clean.wfu_container input.clear.warning:hover.disabled[type="button"], .button.clear.warning:hover[disabled], .file_div_clean.wfu_container input.clear.warning:hover[disabled][type="button"], .button.clear.warning:focus, .file_div_clean.wfu_container input.clear.warning:focus[type="button"], .button.clear.warning:focus.disabled, .file_div_clean.wfu_container input.clear.warning:focus.disabled[type="button"], .button.clear.warning:focus[disabled], .file_div_clean.wfu_container input.clear.warning:focus[disabled][type="button"] {
        border-color: transparent; }
    .button.clear.alert, .file_div_clean.wfu_container input.clear.alert[type="button"] {
      border: 1px solid #d64b13;
      color: #d64b13; }
      .button.clear.alert:hover, .file_div_clean.wfu_container input.clear.alert:hover[type="button"], .button.clear.alert:focus, .file_div_clean.wfu_container input.clear.alert:focus[type="button"] {
        border-color: #6b260a;
        color: #6b260a; }
        .button.clear.alert:hover.disabled, .file_div_clean.wfu_container input.clear.alert:hover.disabled[type="button"], .button.clear.alert:hover[disabled], .file_div_clean.wfu_container input.clear.alert:hover[disabled][type="button"], .button.clear.alert:focus.disabled, .file_div_clean.wfu_container input.clear.alert:focus.disabled[type="button"], .button.clear.alert:focus[disabled], .file_div_clean.wfu_container input.clear.alert:focus[disabled][type="button"] {
          border: 1px solid #d64b13;
          color: #d64b13; }
      .button.clear.alert, .file_div_clean.wfu_container input.clear.alert[type="button"], .button.clear.alert.disabled, .file_div_clean.wfu_container input.clear.alert.disabled[type="button"], .button.clear.alert[disabled], .file_div_clean.wfu_container input.clear.alert[disabled][type="button"], .button.clear.alert:hover, .file_div_clean.wfu_container input.clear.alert:hover[type="button"], .button.clear.alert:hover.disabled, .file_div_clean.wfu_container input.clear.alert:hover.disabled[type="button"], .button.clear.alert:hover[disabled], .file_div_clean.wfu_container input.clear.alert:hover[disabled][type="button"], .button.clear.alert:focus, .file_div_clean.wfu_container input.clear.alert:focus[type="button"], .button.clear.alert:focus.disabled, .file_div_clean.wfu_container input.clear.alert:focus.disabled[type="button"], .button.clear.alert:focus[disabled], .file_div_clean.wfu_container input.clear.alert:focus[disabled][type="button"] {
        border-color: transparent; }
  .button.dropdown::after, .file_div_clean.wfu_container input.dropdown[type="button"]::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .file_div_clean.wfu_container input.dropdown.hollow[type="button"]::after {
    border-top-color: #d41296; }
  .button.dropdown.hollow.primary::after, .file_div_clean.wfu_container input.dropdown.hollow.primary[type="button"]::after {
    border-top-color: #d41296; }
  .button.dropdown.hollow.secondary::after, .file_div_clean.wfu_container input.dropdown.hollow.secondary[type="button"]::after {
    border-top-color: #e5f7fd; }
  .button.dropdown.hollow.success::after, .file_div_clean.wfu_container input.dropdown.hollow.success[type="button"]::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .file_div_clean.wfu_container input.dropdown.hollow.warning[type="button"]::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .file_div_clean.wfu_container input.dropdown.hollow.alert[type="button"]::after {
    border-top-color: #d64b13; }
  .button.arrow-only::after, .file_div_clean.wfu_container input.arrow-only[type="button"]::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0.25rem 0.25rem 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0.25rem 0.25rem; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #ebebeb;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #d41296; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #ebebeb;
    border-radius: 0 0 0.25rem 0.25rem; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ebebeb; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #ebebeb;
  border-bottom: 0;
  background-color: #fefefe;
  color: #333; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #ebebeb; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #d41296;
  color: #fefefe; }
  .badge.primary {
    background: #d41296;
    color: #fefefe; }
  .badge.secondary {
    background: #e5f7fd;
    color: #333; }
  .badge.success {
    background: #3adb76;
    color: #333; }
  .badge.warning {
    background: #ffae00;
    color: #333; }
  .badge.alert {
    background: #d64b13;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #333;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #929292; }
  .breadcrumbs a {
    color: #d41296; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #929292;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button, .button-group .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group input[type="button"] {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group .file_div_clean.wfu_container input:last-child[type="button"], .file_div_clean.wfu_container .button-group input:last-child[type="button"] {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.tiny input[type="button"] {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.small input[type="button"] {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.large input[type="button"] {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.expanded input[type="button"] {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.primary input[type="button"] {
    background-color: #d41296;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .button-group.primary input:hover[type="button"], .button-group.primary .button:focus, .button-group.primary .file_div_clean.wfu_container input:focus[type="button"], .file_div_clean.wfu_container .button-group.primary input:focus[type="button"] {
      background-color: #aa0e78;
      color: #fefefe; }
  .button-group.secondary .button, .button-group.secondary .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.secondary input[type="button"] {
    background-color: #e5f7fd;
    color: #333; }
    .button-group.secondary .button:hover, .button-group.secondary .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .button-group.secondary input:hover[type="button"], .button-group.secondary .button:focus, .button-group.secondary .file_div_clean.wfu_container input:focus[type="button"], .file_div_clean.wfu_container .button-group.secondary input:focus[type="button"] {
      background-color: #8bdbf6;
      color: #333; }
  .button-group.success .button, .button-group.success .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.success input[type="button"] {
    background-color: #3adb76;
    color: #333; }
    .button-group.success .button:hover, .button-group.success .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .button-group.success input:hover[type="button"], .button-group.success .button:focus, .button-group.success .file_div_clean.wfu_container input:focus[type="button"], .file_div_clean.wfu_container .button-group.success input:focus[type="button"] {
      background-color: #22bb5b;
      color: #333; }
  .button-group.warning .button, .button-group.warning .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.warning input[type="button"] {
    background-color: #ffae00;
    color: #333; }
    .button-group.warning .button:hover, .button-group.warning .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .button-group.warning input:hover[type="button"], .button-group.warning .button:focus, .button-group.warning .file_div_clean.wfu_container input:focus[type="button"], .file_div_clean.wfu_container .button-group.warning input:focus[type="button"] {
      background-color: #cc8b00;
      color: #333; }
  .button-group.alert .button, .button-group.alert .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.alert input[type="button"] {
    background-color: #d64b13;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .button-group.alert input:hover[type="button"], .button-group.alert .button:focus, .button-group.alert .file_div_clean.wfu_container input:focus[type="button"], .file_div_clean.wfu_container .button-group.alert input:focus[type="button"] {
      background-color: #ab3c0f;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked input[type="button"], .button-group.stacked-for-small .button, .button-group.stacked-for-small .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-small input[type="button"], .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-medium input[type="button"] {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .file_div_clean.wfu_container input:last-child[type="button"], .file_div_clean.wfu_container .button-group.stacked input:last-child[type="button"], .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .file_div_clean.wfu_container input:last-child[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-small input:last-child[type="button"], .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .file_div_clean.wfu_container input:last-child[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-medium input:last-child[type="button"] {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-small input[type="button"] {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-medium input[type="button"] {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .button-group.stacked-for-small.expanded input[type="button"] {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(51, 51, 51, 0.25);
  border-radius: 0.25rem;
  background-color: white;
  color: #333; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #fcd8f0;
    color: #333; }
  .callout.secondary {
    background-color: #fbfeff;
    color: #333; }
  .callout.success {
    background-color: #e1faea;
    color: #333; }
  .callout.warning {
    background-color: #fff3d9;
    color: #333; }
  .callout.alert {
    background-color: #fce3d9;
    color: #333; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #ebebeb;
  border-radius: 0.25rem;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #333; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #ebebeb; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #666666;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #333; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button,
  .menu .file_div_clean.wfu_container input[type="button"],
  .file_div_clean.wfu_container .menu input[type="button"] {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #d41296;
    color: #fefefe; }
  .menu .active > a {
    background: #d41296;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #929292;
    box-shadow: 0 7px 0 #929292, 0 14px 0 #929292; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #333;
    box-shadow: 0 7px 0 #333, 0 14px 0 #333;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #666666;
    box-shadow: 0 7px 0 #666666, 0 14px 0 #666666; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #d41296; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #d41296; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #d41296 transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #d41296 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #929292;
  border-radius: 0.25rem;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #d41296 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #ebebeb; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #d41296 transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #d41296; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #d41296 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #d41296 transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #d41296; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #d41296 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #d41296 transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #d41296; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #929292;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #d41296 transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #d41296; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: var(--theme-medium);
  color: #fefefe; }
  .label.primary {
    background: #d41296;
    color: #fefefe; }
  .label.secondary {
    background: #e5f7fd;
    color: #333; }
  .label.success {
    background: #3adb76;
    color: #333; }
  .label.warning {
    background: #ffae00;
    color: #333; }
  .label.alert {
    background: #d64b13;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #d41296; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(51, 51, 51, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #d41296; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(51, 51, 51, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(51, 51, 51, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(51, 51, 51, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(51, 51, 51, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(51, 51, 51, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(51, 51, 51, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(51, 51, 51, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #929292; }
    .orbit-bullets button:hover {
      background-color: #666666; }
    .orbit-bullets button.is-active {
      background-color: #666666; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0.25rem;
    color: #333; }
    .pagination a:hover,
    .pagination button:hover {
      background: #ebebeb; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: var(--theme-medium);
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #929292;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #333; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.25rem;
  background-color: #929292; }
  .progress.primary .progress-meter {
    background-color: #d41296; }
  .progress.secondary .progress-meter {
    background-color: #e5f7fd; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #d64b13; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #d41296;
  border-radius: 0.25rem; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap;
  border-radius: 0.25rem; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #ebebeb;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #929292;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0.25rem;
  background-color: #d41296;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #b40f80; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(0, 0, 0, 0.75);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 0;
  border: none;
  border-radius: 0.25rem;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 700px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0.25rem;
  background: #929292;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0.25rem;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #d41296; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0.25rem; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #333; }
  tfoot {
    background: #f1f1f1;
    color: #333; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #ebebeb;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #d41296; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #c9118f; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #d41296; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #b60f81; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #ebebeb;
      color: #d41296; }

.tabs-content {
  border: 1px solid #ebebeb;
  border-top: 0;
  background: #fefefe;
  color: #333;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #ebebeb;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0.25rem;
  box-shadow: 0 0 0 1px rgba(51, 51, 51, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(212, 18, 150, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #d41296;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #666666;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 18rem;
  padding: 0.75rem;
  border-radius: 0.25rem;
  background-color: #333;
  font-size: 100%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #333;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #333 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #333;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #333 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #d41296; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button, .top-bar .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .top-bar input[type="button"] {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large, .logged-in header.page-header .not-logged-in-title {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important; }

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-wrap {
  word-wrap: break-word !important; }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.text-overline {
  text-decoration: overline !important; }

.text-underline {
  text-decoration: underline !important; }

.text-line-through {
  text-decoration: line-through !important; }

.font-wide {
  letter-spacing: 0.25rem; }

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

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

.font-italic {
  font-style: italic !important; }

ul.list-disc {
  list-style-type: disc !important; }

ul.list-circle {
  list-style-type: circle !important; }

ul.list-square {
  list-style-type: square !important; }

ol.list-decimal {
  list-style-type: decimal !important; }

ol.list-lower-alpha {
  list-style-type: lower-alpha !important; }

ol.list-lower-latin {
  list-style-type: lower-latin !important; }

ol.list-lower-roman {
  list-style-type: lower-roman !important; }

ol.list-upper-alpha {
  list-style-type: upper-alpha !important; }

ol.list-upper-latin {
  list-style-type: upper-latin !important; }

ol.list-upper-roman {
  list-style-type: upper-roman !important; }

.rounded {
  border-radius: 5000px !important; }

.radius {
  border-radius: 0.1875rem; }

.bordered {
  border: 0.0625rem solid #929292; }

.shadow {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #333 transparent transparent; }

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #333; }

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #333; }

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #333 transparent transparent; }

.separator-center {
  text-align: center !important; }
  .separator-center::before, .separator-center::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-center::after {
    clear: both; }
  .separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #d41296;
    margin: 1rem auto 0; }

.separator-left {
  text-align: left !important; }
  .separator-left::before, .separator-left::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-left::after {
    clear: both; }
  .separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #d41296;
    margin: 1rem auto 0;
    margin-left: 0 !important; }

.separator-right {
  text-align: right !important; }
  .separator-right::before, .separator-right::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-right::after {
    clear: both; }
  .separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #d41296;
    margin: 1rem auto 0;
    margin-right: 0 !important; }

.overflow-visible {
  overflow: visible !important; }

.overflow-x-visible {
  overflow-x: visible !important; }

.overflow-y-visible {
  overflow-y: visible !important; }

.overflow-hidden {
  overflow: hidden !important; }

.overflow-x-hidden {
  overflow-x: hidden !important; }

.overflow-y-hidden {
  overflow-y: hidden !important; }

.overflow-scroll {
  overflow: scroll !important; }

.overflow-x-scroll {
  overflow-x: scroll !important; }

.overflow-y-scroll {
  overflow-y: scroll !important; }

.display-inline {
  display: inline !important; }

.display-inline-block {
  display: inline-block !important; }

.display-block {
  display: block !important; }

.display-table {
  display: table !important; }

.display-table-cell {
  display: table-cell !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.border-box {
  box-sizing: border-box !important; }

.border-none {
  border: none !important; }

.width-25 {
  width: 25% !important; }

.width-50 {
  width: 50% !important; }

.width-75 {
  width: 75% !important; }

.width-100 {
  width: 100% !important; }

.height-25 {
  height: 25% !important; }

.height-50 {
  height: 50% !important; }

.height-75 {
  height: 75% !important; }

.height-100 {
  height: 100% !important; }

.max-width-100 {
  max-width: 100% !important; }

.max-height-100 {
  max-height: 100% !important; }

.margin-0 {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important; }

.padding-0 {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important; }

.margin-top-0 {
  margin-top: 0rem !important; }

.padding-top-0 {
  padding-top: 0rem !important; }

.margin-right-0 {
  margin-right: 0rem !important; }

.padding-right-0 {
  padding-right: 0rem !important; }

.margin-bottom-0 {
  margin-bottom: 0rem !important; }

.padding-bottom-0 {
  padding-bottom: 0rem !important; }

.margin-left-0 {
  margin-left: 0rem !important; }

.padding-left-0 {
  padding-left: 0rem !important; }

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important; }

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important; }

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

.margin-1 {
  margin-top: 1rem !important;
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
  margin-left: 1rem !important; }

.padding-1 {
  padding-top: 1rem !important;
  padding-right: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 1rem !important; }

.margin-top-1 {
  margin-top: 1rem !important; }

.padding-top-1 {
  padding-top: 1rem !important; }

.margin-right-1 {
  margin-right: 1rem !important; }

.padding-right-1 {
  padding-right: 1rem !important; }

.margin-bottom-1 {
  margin-bottom: 1rem !important; }

.padding-bottom-1 {
  padding-bottom: 1rem !important; }

.margin-left-1 {
  margin-left: 1rem !important; }

.padding-left-1 {
  padding-left: 1rem !important; }

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.margin-2 {
  margin-top: 2rem !important;
  margin-right: 2rem !important;
  margin-bottom: 2rem !important;
  margin-left: 2rem !important; }

.padding-2 {
  padding-top: 2rem !important;
  padding-right: 2rem !important;
  padding-bottom: 2rem !important;
  padding-left: 2rem !important; }

.margin-top-2 {
  margin-top: 2rem !important; }

.padding-top-2 {
  padding-top: 2rem !important; }

.margin-right-2 {
  margin-right: 2rem !important; }

.padding-right-2 {
  padding-right: 2rem !important; }

.margin-bottom-2 {
  margin-bottom: 2rem !important; }

.padding-bottom-2 {
  padding-bottom: 2rem !important; }

.margin-left-2 {
  margin-left: 2rem !important; }

.padding-left-2 {
  padding-left: 2rem !important; }

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.margin-3 {
  margin-top: 3rem !important;
  margin-right: 3rem !important;
  margin-bottom: 3rem !important;
  margin-left: 3rem !important; }

.padding-3 {
  padding-top: 3rem !important;
  padding-right: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 3rem !important; }

.margin-top-3 {
  margin-top: 3rem !important; }

.padding-top-3 {
  padding-top: 3rem !important; }

.margin-right-3 {
  margin-right: 3rem !important; }

.padding-right-3 {
  padding-right: 3rem !important; }

.margin-bottom-3 {
  margin-bottom: 3rem !important; }

.padding-bottom-3 {
  padding-bottom: 3rem !important; }

.margin-left-3 {
  margin-left: 3rem !important; }

.padding-left-3 {
  padding-left: 3rem !important; }

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
:root {
  --mdc-theme-error: #d64b13; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.account-username {
  font-size: 2.5rem;
  padding-bottom: 1.5rem; }
  .account-username strong {
    color: #d41296; }

.featured-hero {
  background-color: #e5f7fd;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 39.9375em) {
    .featured-hero h2 {
      font-size: 2rem; } }
  .featured-hero img {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 30%; }
  @media screen and (max-width: 39.9375em) {
    .featured-hero {
      padding-bottom: 12rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .featured-hero {
      padding-bottom: 6rem; } }

.page-header .current-user-details {
  min-height: 5.5rem; }

.page-header .contact-info-container p {
  line-height: 1; }

.page-header .contact-info-container p.contact-info {
  color: var(--theme-medium);
  font-weight: 400;
  line-height: 1.4; }

.page-header .header-logo {
  max-height: 7rem;
  max-width: 20rem;
  padding-left: 2rem; }
  @media screen and (max-width: 63.9375em) {
    .page-header .header-logo {
      width: 14rem;
      padding: 2rem 0 0 0; } }
  @media screen and (max-width: 39.9375em) {
    .page-header .header-logo {
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .page-header .header-logo {
      margin-bottom: -2rem; } }

.page-header .page-banner {
  position: relative; }
  .page-header .page-banner .background-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover; }
  .page-header .page-banner .content {
    position: relative; }
  .page-header .page-banner .header_buttons {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 0.6rem; }
    .page-header .page-banner .header_buttons i {
      color: #d41296;
      font-size: 1.3rem;
      padding: 0.7rem 1rem;
      margin-top: 0.6rem; }
      .page-header .page-banner .header_buttons i:hover {
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2);
        transition: -webkit-transform 0.2s ease;
        transition: transform 0.2s ease;
        transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  .page-header .page-banner .not-logged-in-title {
    text-transform: uppercase; }
  .page-header .page-banner .page-navigation {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }

.page-header .page-navigation .menu li a {
  color: #000000;
  font-weight: bold;
  font-size: 1.2rem;
  transition: all 0.2s ease;
  padding: 0.7rem 1rem;
  margin-top: 1.3rem; }
  .page-header .page-navigation .menu li a:hover, .page-header .page-navigation .menu li a:focus {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.page-header .page-navigation .menu li.is-active a {
  background-color: transparent;
  color: #d41296; }

.page-header .search-form {
  margin: 2rem -2.5rem 0 0; }
  .page-header .search-form button {
    margin-top: 0 !important;
    margin-right: 0.3rem !important;
    border: none !important;
    color: #d41296 !important;
    font-size: 1.3rem; }
    .page-header .search-form button:hover {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2);
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
    .page-header .search-form button::after {
      visibility: hidden; }
  .page-header .search-form input {
    border: none;
    padding: 0 0.7rem 0.5rem 0;
    visibility: hidden;
    width: 0;
    margin-right: 0.5rem;
    border-bottom: 1px solid #d41296; }
    .page-header .search-form input::-webkit-input-placeholder {
      text-transform: lowercase !important;
      font-size: 1.2rem; }
    .page-header .search-form input:-ms-input-placeholder {
      text-transform: lowercase !important;
      font-size: 1.2rem; }
    .page-header .search-form input::placeholder {
      text-transform: lowercase !important;
      font-size: 1.2rem; }
  .page-header .search-form:hover input {
    visibility: initial;
    width: 10rem;
    transition: width 1s ease; }
  .page-header .search-form:focus-within input {
    visibility: initial;
    width: 10rem; }

.home .featured-hero-content {
  background-color: transparent; }
  @media screen and (min-width: 64em) {
    .home .featured-hero-content {
      margin-top: 3rem; } }

.home .featured-hero {
  background-color: transparent;
  min-height: 32rem;
  opacity: 1; }
  .home .featured-hero img {
    opacity: 1; }
    @media screen and (min-width: 125em) {
      .home .featured-hero img {
        margin-bottom: -10rem; } }
  @media screen and (max-width: 39.9375em) {
    .home .featured-hero {
      min-height: 36rem; } }

.logged-in header.page-header .page-title .global-alert-cell {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.logged-in header.page-header .page-title .global-alert-container {
  overflow: hidden;
  transition: max-width 1s ease;
  margin-right: calc(-0.625rem - 8px);
  position: relative;
  min-width: 75px; }
  .logged-in header.page-header .page-title .global-alert-container.closed {
    max-width: 75px;
    max-height: 62px; }
    .logged-in header.page-header .page-title .global-alert-container.closed .global-alert .global-alert-arrows-container {
      padding-left: 20px; }
      .logged-in header.page-header .page-title .global-alert-container.closed .global-alert .global-alert-arrows-container:after, .logged-in header.page-header .page-title .global-alert-container.closed .global-alert .global-alert-arrows-container:before {
        right: calc(100% - 20px); }
    .logged-in header.page-header .page-title .global-alert-container.closed .global-alert .global-alert-message {
      line-height: 0; }
    .logged-in header.page-header .page-title .global-alert-container.closed .global-alert i {
      cursor: pointer;
      width: 30px;
      padding-left: 0; }
      .logged-in header.page-header .page-title .global-alert-container.closed .global-alert i:before {
        content: "\f1f6"; }
      .logged-in header.page-header .page-title .global-alert-container.closed .global-alert i:hover {
        padding-left: 3px; }
        .logged-in header.page-header .page-title .global-alert-container.closed .global-alert i:hover:before {
          content: "\f0f3"; }
  .logged-in header.page-header .page-title .global-alert-container .global-alert-message {
    display: inline-block;
    vertical-align: middle;
    transition: line-height 1s ease;
    line-height: 1.5; }
  .logged-in header.page-header .page-title .global-alert-container:not(.closed) {
    max-width: calc(120% + 0.9375rem + 8px);
    -webkit-animation: slide-in 1s 1;
            animation: slide-in 1s 1; }
  @media print, screen and (min-width: 40em) {
    .logged-in header.page-header .page-title .global-alert-container {
      margin-right: calc(-0.9375rem - 8px); } }
  .logged-in header.page-header .page-title .global-alert-container .ribbon-corner {
    position: absolute;
    display: block;
    border: 4px solid var(--theme-dark);
    border-bottom-color: transparent;
    border-right-color: transparent;
    bottom: 0;
    right: 0; }

@-webkit-keyframes slide-in {
  0% {
    max-width: 75px; }
  100% {
    max-width: calc(120% + 0.9375rem + 8px); } }

@keyframes slide-in {
  0% {
    max-width: 75px; }
  100% {
    max-width: calc(120% + 0.9375rem + 8px); } }

.logged-in header.page-header .page-title .global-alert {
  margin: 0px;
  border-radius: 0px;
  color: white;
  padding: 0;
  border: none;
  position: relative;
  -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.5));
  padding-bottom: 8px;
  overflow: hidden;
  background: none;
  min-width: 500px; }
  .logged-in header.page-header .page-title .global-alert .global-alert-arrows-container {
    padding-left: 100px;
    height: calc(100% - 8px);
    position: relative;
    overflow: hidden; }
    .logged-in header.page-header .page-title .global-alert .global-alert-arrows-container:after, .logged-in header.page-header .page-title .global-alert .global-alert-arrows-container:before {
      border-right: 100px solid var(--theme-light);
      content: '';
      height: 0;
      position: absolute;
      right: calc(100% - 100px);
      width: 0; }
    .logged-in header.page-header .page-title .global-alert .global-alert-arrows-container:after {
      border-top: 135px solid transparent;
      top: 50%; }
    .logged-in header.page-header .page-title .global-alert .global-alert-arrows-container:before {
      border-bottom: 135px solid transparent;
      bottom: 50%; }
  .logged-in header.page-header .page-title .global-alert .global-alert-background {
    background-color: var(--theme-light);
    padding: 1rem 1.5rem;
    padding-right: 4rem;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .logged-in header.page-header .page-title .global-alert i {
    cursor: pointer;
    min-width: 32px;
    padding-left: 3px; }
    .logged-in header.page-header .page-title .global-alert i:hover {
      padding-left: 0; }
      .logged-in header.page-header .page-title .global-alert i:hover:before {
        content: "\f1f6"; }
  .logged-in header.page-header .page-title .global-alert a {
    color: white;
    text-decoration: underline;
    font-weight: bold; }
    .logged-in header.page-header .page-title .global-alert a:hover {
      color: var(--theme-dark); }
  .logged-in header.page-header .page-title .global-alert .close-button {
    top: 0.9rem;
    font-size: 1.2rem;
    background-color: var(--theme-dark);
    color: #fefefe;
    height: 1.3rem;
    width: 1.3rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 0;
    line-height: 0; }
    .logged-in header.page-header .page-title .global-alert .close-button:hover {
      opacity: 0.6; }

.mobile-off-canvas-menu {
  display: block !important;
  background: #e5f7fd; }
  .mobile-off-canvas-menu .input-group-field {
    background-color: transparent;
    border: none; }
  .mobile-off-canvas-menu .header_buttons {
    margin-left: 1rem;
    font-size: 1.3rem; }
    .mobile-off-canvas-menu .header_buttons a {
      display: block;
      padding: 0.5rem 0; }
  .mobile-off-canvas-menu li a {
    color: black !important;
    font-size: 1rem;
    font-weight: 600; }
    .mobile-off-canvas-menu li a:hover {
      color: #d41296 !important;
      transition: color 0.2s ease; }
  .mobile-off-canvas-menu .menu .is-active > a {
    background: rgba(255, 255, 255, 0.7); }
  .mobile-off-canvas-menu .search-form {
    margin: 1rem;
    border-bottom: 1px solid #d41296;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .mobile-off-canvas-menu .search-form button {
      border: none !important;
      font-size: 1.3rem;
      color: #d41296; }
    .mobile-off-canvas-menu .search-form input {
      background-color: transparent;
      border: none;
      padding-bottom: 0.5rem;
      margin-right: 0.5rem; }
      .mobile-off-canvas-menu .search-form input::-webkit-input-placeholder {
        text-transform: lowercase !important; }
      .mobile-off-canvas-menu .search-form input:-ms-input-placeholder {
        text-transform: lowercase !important; }
      .mobile-off-canvas-menu .search-form input::placeholder {
        text-transform: lowercase !important; }

.title-bar {
  display: block !important;
  background: #e5f7fd; }
  .title-bar .menu-icon {
    visibility: hidden;
    margin: 0 !important; }
    .title-bar .menu-icon i {
      visibility: visible !important;
      color: #333 !important; }
  .title-bar .title-bar-title {
    color: #000000;
    text-transform: uppercase;
    font-size: 1.2rem; }
  @media print, screen and (min-width: 64em) {
    .title-bar {
      display: none !important; } }

@media print, screen and (min-width: 64em) {
  body {
    padding-top: 2rem; }
    body.logged-in {
      padding-top: 0.5rem; } }

.auto, [class*='-auto'], .shrink {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

html {
  overflow-x: hidden; }

h2 {
  text-transform: uppercase;
  font-weight: bold;
  color: #000000; }

h3, h4, h5, h6, .h3, .h4, .form-section-header, .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp, .h5, .ood-wp-alert-error, .templates .template .template-details a .template-name, .h6, .form-section-subheader {
  text-transform: uppercase; }

h5, h6, .h5, .ood-wp-alert-error, .templates .template .template-details a .template-name, .h6, .form-section-subheader {
  font-weight: bold; }

h1, h4, h6, .h1, .h4, .form-section-header, .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp, .h6, .form-section-subheader {
  color: var(--theme-medium); }
  h1 a, h4 a, h6 a, .h1 a, .h4 a, .form-section-header a, .reveal-header-input-label .reveal-header-input a, .reveal-header-input-label .reveal-header-input-temp a, .h6 a, .form-section-subheader a {
    color: var(--theme-medium); }

a {
  color: var(--theme-medium); }
  a:hover {
    color: var(--theme-dark); }
  a:focus {
    color: var(--theme-dark); }

p {
  font-size: 1rem;
  line-height: 2rem; }

.mdc-menu .mdc-list-item {
  white-space: nowrap; }

.multiple-columns .single-column {
  padding-top: 3rem; }

p.tight {
  margin-bottom: 0.5rem; }

.mdc-text-field--multiline {
  height: 200px; }
  .mdc-text-field--multiline .mdc-floating-label {
    bottom: calc(100% - 35px); }
  .mdc-text-field--multiline:not(.mdc-text-field--multiline-auto) .mdc-text-field__input {
    resize: none;
    height: 100% !important; }
  .mdc-text-field--multiline .mdc-text-field__icon {
    bottom: calc(100% - 39px); }
  .mdc-text-field--multiline.mdc-text-field--multiline-small {
    height: 125px; }
  .mdc-text-field--multiline.mdc-text-field--multiline-auto {
    height: auto; }
    .mdc-text-field--multiline.mdc-text-field--multiline-auto .mdc-text-field__input {
      min-height: auto;
      height: 56px; }

.site-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 !important; }
  @media print, screen and (min-width: 40em) {
    .site-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.form-section-number {
  background-color: var(--theme-medium);
  display: inline-block;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  line-height: 16px;
  padding: 16px;
  color: #fefefe;
  margin-right: 16px;
  text-align: center; }

.form-section-header {
  color: var(--theme-medium);
  text-align: center; }
  .form-section-header.text-right {
    text-align: right; }
  .form-section-header.text-left {
    text-align: left; }

.no-margin {
  margin: 0 !important; }

.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 .h1, .dark .h2, .dark .h3, .dark .h4, .dark .form-section-header, .dark .reveal-header-input-label .reveal-header-input, .reveal-header-input-label .dark .reveal-header-input, .dark .reveal-header-input-label .reveal-header-input-temp, .reveal-header-input-label .dark .reveal-header-input-temp, .dark .h5, .dark .ood-wp-alert-error, .dark .templates .template .template-details a .template-name, .templates .template .template-details a .dark .template-name, .dark .h6, .dark .form-section-subheader {
  color: #fefefe; }

#hkb ol.hkb-breadcrumbs {
  background: #eaeaea;
  padding: 5px 10px;
  border-radius: 5px; }

.cell-line-break {
  width: 100%; }

.grid-less-padding-x {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .grid-less-padding-x .cell {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }

.form-section-subheader {
  overflow: hidden;
  display: block;
  position: relative;
  color: var(--theme-medium); }

.file_div_clean.wfu_container {
  display: block; }
  .file_div_clean.wfu_container .file_progress_bar {
    min-width: 300px;
    padding: 0;
    border: none; }
    .file_div_clean.wfu_container .file_progress_bar .file_progress_inner {
      height: 15px;
      border: 1px solid #ebebeb; }
      .file_div_clean.wfu_container .file_progress_bar .file_progress_inner span {
        height: 100%;
        background-color: var(--theme-medium); }
  .file_div_clean.wfu_container .file_messageblock_header_td {
    border: none !important; }
    .file_div_clean.wfu_container .file_messageblock_header_td .file_messageblock_header {
      min-width: 300px;
      border: none !important;
      border-radius: 5px 5px 0 0;
      color: #fefefe !important;
      text-align: center;
      background-color: #666666 !important; }
      .file_div_clean.wfu_container .file_messageblock_header_td .file_messageblock_header .file_messageblock_header_label {
        font-size: 0.875rem;
        font-weight: normal; }
  .file_div_clean.wfu_container .file_messageblock_fileheader_td {
    border: none !important; }
    .file_div_clean.wfu_container .file_messageblock_fileheader_td .file_messageblock_fileheader {
      min-width: 300px;
      border: none !important;
      border-radius: 5px 5px 0 0;
      color: #fefefe !important;
      text-align: center; }
      .file_div_clean.wfu_container .file_messageblock_fileheader_td .file_messageblock_fileheader .file_messageblock_fileheader_label {
        font-size: 0.875rem;
        font-weight: normal; }
  .file_div_clean.wfu_container #wordpress_file_upload_textbox_1 input[type="text"] {
    display: inline-block;
    border: none;
    pointer-events: none; }
  .file_div_clean.wfu_container thead, .file_div_clean.wfu_container tbody, .file_div_clean.wfu_container tfoot {
    border: none; }
  .file_div_clean.wfu_container .file_table_clean.user-meta-fields {
    width: 100%; }
  .file_div_clean.wfu_container div.file_div_clean {
    display: block;
    text-align: left;
    margin-bottom: 0.5rem; }
  .file_div_clean.wfu_container .file_userdata_container {
    margin-bottom: 0.75rem; }
    @media print, screen and (min-width: 64em) {
      .file_div_clean.wfu_container .file_userdata_container {
        width: 65%; } }
    .file_div_clean.wfu_container .file_userdata_container .file_userdata_label:after {
      padding-left: 0.25rem; }
    .file_div_clean.wfu_container .file_userdata_container .file_userdata_hint_inline {
      display: none !important; }
  .file_div_clean.wfu_container div.file_userdata_fieldwrapper, .file_div_clean.wfu_container div.file_userdata_fieldwrapper_required, .file_div_clean.wfu_container div.file_userdata_fieldwrapper_required_empty {
    width: 100%; }
  .file_div_clean.wfu_container label.file_messageblock_fileheader_label, .file_div_clean.wfu_container label.file_messageblock_header_label {
    padding: 1rem;
    display: block;
    font-weight: 0.8rem; }

.pull-right {
  float: right; }

table.unstriped tbody tr {
  border: none; }
  table.unstriped tbody tr.even-row {
    background-color: white; }
  table.unstriped tbody tr.odd-row {
    background-color: #f1f1f1; }

table.unstriped tbody tr.odd-row + tr.odd-row th, table.unstriped tbody tr.odd-row + tr.odd-row td, table.unstriped tbody tr.even-row + tr.even-row th, table.unstriped tbody tr.even-row + tr.even-row td {
  padding-bottom: 0;
  padding-top: 0; }

table.no-wrap-header thead th, table.no-wrap-header thead td {
  white-space: nowrap; }

table.responsive-table {
  width: 100% !important; }
  table.responsive-table th {
    text-align: left; }
  table.responsive-table tbody th, table.responsive-table tbody td {
    padding: 0.25rem 0.5rem; }
  table.responsive-table.collapsed tbody tr th {
    position: relative;
    padding-left: 1.75rem;
    cursor: pointer;
    height: 2rem; }
    table.responsive-table.collapsed tbody tr th::before {
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      font-family: "Font Awesome 5 Pro";
      content: "\f055";
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      height: 1.5rem;
      left: 8px;
      color: var(--theme-dark); }
  table.responsive-table.collapsed tbody tr th.hide-for-collapse, table.responsive-table.collapsed tbody tr th .hide-for-collapse, table.responsive-table.collapsed tbody tr td.hide-for-collapse, table.responsive-table.collapsed tbody tr td .hide-for-collapse {
    display: block; }
  table.responsive-table.collapsed tbody tr th.show-for-collapse, table.responsive-table.collapsed tbody tr th .show-for-collapse, table.responsive-table.collapsed tbody tr td.show-for-collapse, table.responsive-table.collapsed tbody tr td .show-for-collapse {
    display: none; }
  table.responsive-table.collapsed tbody tr.parent th::before {
    content: "\f056";
    color: #ffae00; }
  table.responsive-table.collapsed tbody tr.child td.child ul {
    list-style: none;
    display: table;
    width: 100%;
    margin: 0 0 0.75rem; }
    table.responsive-table.collapsed tbody tr.child td.child ul li {
      border-bottom: 1px solid #ebebeb;
      display: table-row; }
      table.responsive-table.collapsed tbody tr.child td.child ul li:last-child {
        border-bottom: none; }
      table.responsive-table.collapsed tbody tr.child td.child ul li span {
        display: table-cell; }
      table.responsive-table.collapsed tbody tr.child td.child ul li .dtr-title {
        font-weight: bold; }

#debugmodeon {
  background-color: var(--theme-dark);
  color: #fefefe;
  display: inline-block;
  padding: 0.5rem;
  height: 100%; }

#search-order-button {
  font-size: 16px;
  cursor: pointer;
  border: 1px solid #ebebeb;
  color: #333;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  padding: 8px;
  height: auto;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  max-width: 100%;
  margin-bottom: 1rem; }
  #search-order-button .search-terms {
    margin: 0.5rem 0 0;
    -webkit-order: 10;
        -ms-flex-order: 10;
            order: 10;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.8rem;
    text-transform: none;
    color: #929292;
    font-family: "Karla", sans-serif;
    letter-spacing: 0;
    white-space: normal; }
    @media screen and (min-width: 64em) {
      #search-order-button .search-terms {
        width: auto;
        margin: 0 0.5rem;
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0; } }

footer.site-footer {
  margin-top: 3rem;
  margin-bottom: 3rem;
  color: #666666; }
  footer.site-footer h4 {
    color: #666666;
    font-size: 1.2rem; }
  footer.site-footer a {
    color: #333;
    background-color: transparent !important;
    font-size: 1rem; }
    footer.site-footer a:hover {
      color: #666666;
      text-decoration: underline;
      transition: text-decoration 0.2s ease; }
  footer.site-footer .is-active > a {
    color: #666666; }
  footer.site-footer .footer-logo-container img {
    max-width: 20rem;
    max-height: 7rem;
    padding-left: 1rem; }
    @media screen and (max-width: 39.9375em) {
      footer.site-footer .footer-logo-container img {
        width: 14rem; } }
  @media screen and (max-width: 63.9375em) {
    footer.site-footer .footer-logo-container {
      text-align: center; } }
  @media screen and (max-width: 39.9375em) {
    footer.site-footer .footer-menus-container .cell {
      text-align: center;
      margin-top: 1.5rem; } }

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important; }

.button:hover:hover, .file_div_clean.wfu_container input:hover:hover[type="button"], .file_div_clean.wfu_container input:hover[type="button"]:hover, .button:focus:hover, .file_div_clean.wfu_container input:focus:hover[type="button"], .file_div_clean.wfu_container input:focus[type="button"]:hover {
  color: #d41296 !important; }

.sites-button {
  background: #d41296;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.button.default, .file_div_clean.wfu_container input.default[type="button"] {
  background-color: #ebebeb;
  color: #333; }

.mdc-button, .button, .file_div_clean.wfu_container input[type="button"], .version-form .ood-wp-add-repeater-item {
  text-transform: none;
  white-space: nowrap; }
  .mdc-button .theme-icon, .button .theme-icon, .file_div_clean.wfu_container input[type="button"] .theme-icon, .version-form .ood-wp-add-repeater-item .theme-icon {
    display: inline-block;
    padding-right: 8px; }
    .mdc-button .theme-icon svg, .button .theme-icon svg, .file_div_clean.wfu_container input[type="button"] .theme-icon svg, .version-form .ood-wp-add-repeater-item .theme-icon svg {
      vertical-align: bottom; }
  .mdc-button[disabled], .button[disabled], .file_div_clean.wfu_container input[disabled][type="button"], .version-form .ood-wp-add-repeater-item[disabled] {
    opacity: 0.3;
    cursor: not-allowed; }

.mdc-button.mdc-button--dense, .mdc-button--dense.button, .file_div_clean.wfu_container input.mdc-button--dense[type="button"], .version-form .mdc-button--dense.ood-wp-add-repeater-item {
  padding: 0 15px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 10px !important;
  letter-spacing: 0;
  height: 35px; }

.mdc-button img, .button img, .file_div_clean.wfu_container input[type="button"] img, .version-form .ood-wp-add-repeater-item img {
  height: 1.25rem;
  margin-top: -2px; }

.mdc-button svg, .button svg, .file_div_clean.wfu_container input[type="button"] svg, .version-form .ood-wp-add-repeater-item svg {
  height: 1.25rem;
  width: 1.5rem;
  margin-right: 0.5rem;
  fill: var(--mdc-theme-primary, #6200ee);
  margin-top: -2px; }
  .mdc-button svg *, .button svg *, .file_div_clean.wfu_container input[type="button"] svg *, .version-form .ood-wp-add-repeater-item svg * {
    fill: inherit !important; }

.mdc-button .button-icon-trailing, .button .button-icon-trailing, .file_div_clean.wfu_container input[type="button"] .button-icon-trailing, .version-form .ood-wp-add-repeater-item .button-icon-trailing {
  margin-left: 0.5rem;
  margin-right: 0; }

.mdc-button--white {
  background-color: #fefefe !important;
  text-transform: uppercase;
  color: var(--theme-dark) !important;
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0 8px 0 8px !important;
  min-width: 1.5rem; }
  .mdc-button--white i {
    background: var(--theme-dark);
    color: white;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    vertical-align: middle;
    font-size: 1rem;
    margin-right: 0.5rem;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-indent: 2px; }
  .mdc-button--white i.button-icon-standalone {
    margin-right: 0; }
  .mdc-button--white i.button-theme-icon {
    background: transparent;
    color: var(--theme-medium); }
    .mdc-button--white i.button-theme-icon svg {
      fill: var(--theme-medium);
      margin-right: 0; }
  .mdc-button--white i.button-dark-theme-icon {
    background: transparent;
    color: var(--theme-dark); }
    .mdc-button--white i.button-dark-theme-icon svg {
      fill: var(--theme-dark);
      margin-right: 0; }

.mdc-button--gray {
  background-color: #cfcfcf !important;
  text-transform: uppercase;
  color: black !important;
  font-size: 0.75rem; }

.mdc-button.mdc-button--extended, .button, .file_div_clean.wfu_container input[type="button"], .version-form .mdc-button--extended.ood-wp-add-repeater-item, .version-form .ood-wp-add-repeater-item.button {
  padding-top: 5px;
  font-weight: bold;
  border-radius: 10px !important;
  margin-bottom: 1rem; }
  .mdc-button.mdc-button--extended svg, .button svg, .file_div_clean.wfu_container input[type="button"] svg, .version-form .mdc-button--extended.ood-wp-add-repeater-item svg, .version-form .ood-wp-add-repeater-item.button svg {
    fill: #fefefe; }
  .mdc-button.mdc-button--extended:hover, .button:hover, .file_div_clean.wfu_container input:hover[type="button"], .version-form .mdc-button--extended.ood-wp-add-repeater-item:hover {
    background-color: transparent; }
  .mdc-button.mdc-button--extended.default, .default.button, .file_div_clean.wfu_container input.default[type="button"], .version-form .mdc-button--extended.default.ood-wp-add-repeater-item {
    background-color: #ebebeb !important;
    box-shadow: 0px 5px 0px 0px #666666 !important;
    color: #333 !important; }
    .mdc-button.mdc-button--extended.default svg, .default.button svg, .file_div_clean.wfu_container input.default[type="button"] svg, .version-form .mdc-button--extended.default.ood-wp-add-repeater-item svg, .version-form .default.ood-wp-add-repeater-item.button svg {
      fill: #333; }

.mdc-button--outlined.mdc-button--theme, .version-form .mdc-button--theme.ood-wp-add-repeater-item {
  border-color: var(--theme-dark) !important;
  color: var(--theme-medium) !important; }
  .mdc-button--outlined.mdc-button--theme svg, .version-form .mdc-button--theme.ood-wp-add-repeater-item svg {
    fill: var(--theme-medium); }

.mdc-button--outlined, .version-form .ood-wp-add-repeater-item {
  padding: 0 15px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 10px !important;
  letter-spacing: 0;
  height: 35px;
  border-width: 1px; }

.button, .file_div_clean.wfu_container input[type="button"] {
  padding: 0.65rem 1rem !important; }

.mdc-white-filled {
  background-color: white !important;
  box-shadow: 0px 5px 0px 0px var(--theme-dark) !important;
  padding: 0 15px;
  padding-top: 2px;
  color: var(--theme-medium) !important;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 10px !important;
  letter-spacing: 0;
  height: 30px;
  margin-right: 10px;
  margin-bottom: 5px;
  border: 1px solid var(--theme-dark); }
  .mdc-white-filled[disabled] {
    background-color: #f8f8f8 !important; }
  .mdc-white-filled svg {
    fill: var(--theme-medium); }

.mdc-white-hollow {
  background-color: transparent !important;
  padding: 0 15px;
  border-radius: 10px !important;
  height: 30px;
  margin-right: 10px;
  border: 2px solid white; }
  .mdc-white-hollow:hover {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease;
    background-color: #ffffff !important; }
  .mdc-white-hollow svg {
    fill: #d41296;
    height: 1rem;
    width: 1.2rem; }

.mdc-button--large-text {
  font-size: 0.95rem !important; }

.mdc-button--raised {
  padding: 0.25rem 1rem !important;
  background-color: transparent !important;
  box-shadow: none;
  border: 1.5px solid #333 !important;
  color: #333 !important; }
  .mdc-button--raised:hover {
    background-color: #fde8f6 !important;
    transition: background-color 0.2s ease;
    box-shadow: none; }

@media screen and (min-width: 64em) {
  .gform_footer .mdc-button--raised {
    margin: 2.5rem -2rem 0 0 !important; } }

.button.actions-button, .file_div_clean.wfu_container input.actions-button[type="button"] {
  padding: 10px 12px !important;
  min-width: auto; }

.label {
  margin-bottom: 0.25rem; }

.wc-backward {
  border: 1px solid #d41296; }
  .wc-backward:hover {
    color: #d41296; }

.cards-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

.products .product .product-details {
  background-color: #ffffff !important;
  border-radius: 0px !important;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2); }
  .products .product .product-details h2 {
    color: #666666 !important; }

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0; }

hr {
  border: 3px solid #d41296;
  width: 4rem;
  margin: 1.5rem 0;
  background-color: #d41296; }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.awesomplete {
  height: 100%; }
  .awesomplete ul {
    list-style-type: none;
    background-color: white;
    box-shadow: 0px 1px 5px 0px rgba(51, 51, 51, 0.5);
    margin: 0;
    z-index: 100;
    position: relative; }
    .awesomplete ul li {
      padding: 0.5rem;
      cursor: pointer; }
      .awesomplete ul li mark {
        background-color: var(--theme-medium);
        color: white; }
      .awesomplete ul li:hover, .awesomplete ul li[aria-selected="true"] {
        background-color: #ebebeb; }
  .awesomplete .visually-hidden {
    display: none; }

fieldset {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  fieldset input {
    border: none;
    border-bottom: 1px solid #d41296; }

.gform_footer button[type='submit'] {
  background-image: url("../images/right-arrow.png");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding: 0.75rem 2.7rem 0.75rem 0.75rem !important;
  line-height: 0.5; }

.ginput_container {
  width: 100% !important;
  margin: 0.5rem 0; }
  .ginput_container .gfield_required {
    display: inline !important; }

input {
  border-bottom-color: #d41296 !important; }

.mdc-text-field:not(.mdc-text-field--disabled) {
  background-color: unset; }

.mdc-text-field + .mdc-text-field-helper-text {
  margin-bottom: 1rem;
  margin-top: -1.25rem; }

.mdc-select:not(.mdc-select--disabled) {
  background-color: unset;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2); }

.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control {
  border-bottom-color: transparent; }

.validation_message {
  font-style: normal !important; }

.instruction.validation_message {
  display: none; }

.media-object form .gform-body {
  background-color: #fefefe;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  padding: 2rem 2rem 1rem 2rem !important;
  margin-top: 1.5rem; }
  .media-object form .gform-body input {
    background-color: #efefef;
    box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.1);
    border: none;
    height: 3rem;
    padding: 0.7rem;
    width: 100%; }
  .media-object form .gform-body textarea {
    background-color: #efefef;
    box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.1);
    border: none;
    width: 100%;
    padding: 0.7rem; }

.media-object form li {
  position: relative; }
  .media-object form li .validation_message {
    color: transparent;
    border-top: 2px solid #d41296;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0; }
    @media screen and (min-width: 64em) {
      .media-object form li .validation_message {
        height: 0.5rem; } }

.media-object form [type="submit"] {
  box-shadow: none;
  border: 2px solid #333 !important;
  color: #333;
  margin-top: 1.5rem;
  width: 10rem;
  transition: background-color 0.2s ease; }
  .media-object form [type="submit"]:hover {
    background-color: rgba(212, 18, 150, 0.1);
    color: #333 !important; }
  .media-object form [type="submit"]:focus {
    background-color: rgba(212, 18, 150, 0.1); }
  @media screen and (min-width: 64em) {
    .media-object form [type="submit"] {
      float: right; } }

.mdc-select--focused .mdc-select__dropdown-icon {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") !important; }

.gform_title {
  font-weight: bold; }

.gform_validation_container {
  display: none !important; }

.hidden_label > label {
  display: none; }

.gform_fields {
  margin: 0; }

li.gfield, .gform_fields > li {
  list-style-type: none; }

.ood-wp-file-previews {
  display: block !important;
  margin: 0.5rem 0; }

input[type="file"] + .ood-wp-field-description {
  display: inline-block;
  padding-left: 0.75rem; }

.gform_wrapper .two-column_wrapper ul.one-half, .gform_wrapper ul.one-third {
  width: 100%;
  margin-left: 0 !important; }

.gform_wrapper .gfield_description {
  font-style: italic; }

.gform_wrapper .gsection {
  display: none !important;
  /* remove !important if it's not needed */
  border-bottom: none !important; }

#gform_wrapper_3 li {
  margin-bottom: 10px; }

@media print, screen and (min-width: 40em) {
  .gform_wrapper.two-column_wrapper {
    max-width: 100%; }
  .gform_wrapper.two-column_wrapper ul.gform_fields, .gform_wrapper.two-column_wrapper ul.gform_column li.gsection:first-child {
    display: none; }
  .gform_wrapper.two-column_wrapper ul.gform_fields.gform_column {
    display: block; }
  .gform_wrapper.two-column_wrapper ul.one-half {
    margin-left: 4% !important;
    width: 48%;
    float: left; }
  .gform_wrapper.two-column_wrapper ul.one-third {
    margin-left: 2% !important;
    width: 32%;
    float: left; }
  .gform_wrapper.two-column_wrapper ul.first.one-half, .gform_wrapper.two-column_wrapper ul.first.one-third {
    margin-left: 0 !important; }
  #input_3_2,
  #input_3_3,
  #input_3_4 {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gsection {
    padding: 0 !important; } }

.gform_body {
  padding-top: 1rem; }

.mdc-select--with-leading-icon .mdc-select__icon {
  opacity: 1; }

.gform_footer {
  clear: both; }
  .gform_footer .gform-submit-footer {
    background-color: #fefefe;
    margin: 1rem -1.625rem -1rem; }
    @media print, screen and (min-width: 40em) {
      .gform_footer .gform-submit-footer {
        margin: 1rem -1.9375rem -1rem; } }

.gfield_password_strength {
  text-align: center;
  background-color: gray;
  padding: 1rem;
  border-radius: 5px 5px 0 0;
  color: white; }
  .gfield_password_strength.short, .gfield_password_strength.bad, .gfield_password_strength.mismatch {
    background-color: var(--theme-light); }
  .gfield_password_strength.good {
    background-color: var(--theme-medium); }
  .gfield_password_strength.strong {
    background-color: var(--theme-dark); }

.mdc-select select {
  background: none !important; }

.form-content .form-sections {
  margin: 0 3rem 0 0; }
  .form-content .form-sections button {
    display: inline-block;
    border: 1.5px solid #d41296 !important;
    color: #d41296 !important;
    font-size: 0.9rem !important;
    padding: 0.4rem 1rem;
    box-shadow: none !important;
    height: 2.2rem; }
    @media screen and (max-width: 39.9375em) {
      .form-content .form-sections button {
        margin: 0.5rem 0 !important; } }
  .form-content .form-sections > .cell:first-child {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    margin-left: 1rem !important; }
    .form-content .form-sections > .cell:first-child::after {
      display: block;
      content: '';
      border-bottom: 3px solid #d41296;
      position: absolute;
      width: 90%;
      top: 50%;
      z-index: -1; }
    .form-content .form-sections > .cell:first-child .form-section-number {
      background-color: #ffffff !important;
      border: 3px solid #d41296 !important;
      color: #d41296 !important;
      font-family: 'Karla', sans-serif;
      font-size: 1.4rem !important;
      padding: 12px;
      width: 48px !important;
      height: 48px;
      margin: 0 !important; }
    .form-content .form-sections > .cell:first-child .active {
      background-color: #d41296 !important;
      color: #ffffff !important; }
    @media screen and (min-width: 64em) {
      .form-content .form-sections > .cell:first-child {
        margin-top: 2rem !important; } }
  .form-content .form-sections .ood-wp-delete-repeater-item {
    border: none !important; }

.form-content .form-footer {
  background-color: #fefefe; }
  @media screen and (max-width: 39.9375em) {
    .form-content .form-footer .mdc-button, .form-content .form-footer .button, .form-content .form-footer .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .form-content .form-footer input[type="button"], .form-content .form-footer .version-form .ood-wp-add-repeater-item, .version-form .form-content .form-footer .ood-wp-add-repeater-item {
      width: 100%;
      margin-bottom: 0.25rem; } }

.form-content .form-group p {
  padding: 0.25rem 0 !important; }

@media screen and (max-width: 39.9375em) {
  .form-content .grid-less-padding-x {
    display: block; } }

.form-content .area-container {
  line-height: 2rem; }

.form-product {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1rem;
  font-weight: 600;
  font-size: 1.1rem; }
  .form-product .product-link i {
    display: none; }
  .form-product .product-link::before {
    content: '\f0ec';
    font-family: 'Font Awesome 5 Pro';
    padding-right: 0.6rem; }

@media screen and (max-width: 63.9375em) {
  .product-form-layout img {
    max-height: 15rem; } }

@media screen and (min-width: 64em) {
  .home button {
    margin: 0 0 0 1rem !important; }
  .home .form-sections {
    margin: 0 !important; }
    .home .form-sections > .cell:first-child::after {
      margin: 0 2rem; } }

label {
  font-weight: bold; }

.mdc-radio label {
  font-weight: 400; }

.mdc-text-field, .mdc-select {
  width: 100%; }

.button-radio-field {
  display: none; }

.button-radio-field + .button-radio-label {
  font-weight: 400;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  transition: background-color 0.2s ease;
  background-color: #ebebeb;
  border: 1px solid #d2d2d2;
  color: #666666;
  font-size: 0.8125rem !important;
  bottom: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  margin-bottom: 0.25rem !important;
  padding: 0 6px 0 6px; }

.button-radio-field:not(:checked) + .button-radio-label:hover {
  background-color: #d2d2d2; }

.button-radio-field:checked + .button-radio-label {
  background-color: var(--theme-medium);
  border-color: transparent;
  color: #fefefe; }

.form-group {
  margin-bottom: 1rem;
  position: relative; }

.text-file-uploader {
  float: left;
  margin-top: -3rem; }
  .text-file-uploader .text-file-previews {
    display: inline-block; }
    .text-file-uploader .text-file-previews .text-file-preview {
      margin: 0 0.25rem;
      font-weight: lighter; }

.mdc-form-field {
  margin-right: 0.5rem; }

.form-error, .ood-wp-form-error {
  font-weight: bold;
  color: #d64b13;
  letter-spacing: -1px; }

.mdc-checkbox {
  padding: 7px; }

.mdc-checkbox__background {
  top: 7px;
  left: 7px;
  width: 18px;
  height: 18px; }

.mdc-checkbox.mdc-ripple-upgraded::after, .mdc-checkbox.mdc-ripple-upgraded::before {
  --mdc-ripple-fg-size: 18px; }

.mdc-floating-label--float-above {
  max-width: 100% !important; }

.form-repeater.order-item-jobs > li {
  position: static;
  padding-right: 0; }
  .form-repeater.order-item-jobs > li .ood-wp-delete-repeater-item {
    padding-left: 0.5rem;
    position: static; }

ul.form-repeater {
  margin-left: 0;
  list-style: none; }
  ul.form-repeater > li {
    position: relative;
    padding-right: 2.5rem; }
    ul.form-repeater > li .ood-wp-delete-repeater-item {
      top: calc(50% - 5px);
      position: absolute;
      right: 0; }
      ul.form-repeater > li .ood-wp-delete-repeater-item img {
        height: 1.5rem;
        margin-top: -7px; }
      ul.form-repeater > li .ood-wp-delete-repeater-item svg {
        height: 1.5rem;
        width: 1.5rem;
        margin-right: 0.5rem;
        fill: var(--theme-dark);
        margin-top: -7px;
        transition: fill 0.2s ease; }
        ul.form-repeater > li .ood-wp-delete-repeater-item svg * {
          fill: inherit !important; }
      ul.form-repeater > li .ood-wp-delete-repeater-item:hover svg {
        fill: var(--theme-light); }
  ul.form-repeater > li:first-child {
    position: static;
    padding-right: 0; }
    ul.form-repeater > li:first-child .ood-wp-delete-repeater-item {
      display: none; }

.ood-wp-delete-repeater-item {
  cursor: pointer;
  color: #d64b13; }
  .ood-wp-delete-repeater-item .ood-wp-delete-content::before {
    padding-right: 0.25rem; }
  .ood-wp-delete-repeater-item:hover {
    color: #782a0b !important; }

.ood-wp-delete-content::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f1f8"; }

.mdc-search-select.mdc-search-select--with-leading-icon .dropdown:not(.icon) {
  padding-left: 3rem;
  padding-right: 1rem; }
  .mdc-search-select.mdc-search-select--with-leading-icon .dropdown:not(.icon) input.search {
    padding-left: 3rem;
    padding-right: 1rem;
    width: 100% !important; }

.mdc-search-select.mdc-search-select--with-leading-icon .mdc-search-select__icon {
  position: absolute;
  bottom: calc(100% - 39px);
  cursor: pointer;
  z-index: 1;
  left: 16px; }

.mdc-search-select.mdc-search-select--with-leading-icon .mdc-floating-label {
  left: 48px; }

.mdc-search-select.mdc-search-select--with-leading-icon .sizer {
  display: none; }

.mdc-search-select .mdc-floating-label {
  cursor: pointer;
  left: 12px;
  bottom: calc(100% - 35px);
  right: initial; }

.mdc-search-select .sizer {
  visibility: hidden;
  position: absolute; }

.mdc-search-select .dropdown:not(.icon) {
  background-color: #fefefe;
  position: relative;
  transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 4px 4px 0 0;
  padding: 20px 12px 6px;
  cursor: pointer;
  min-height: 54px;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  border-bottom: none; }
  .mdc-search-select .dropdown:not(.icon) .sizer {
    display: none; }
  .mdc-search-select .dropdown:not(.icon) .dropdown.icon {
    right: 8px;
    position: absolute;
    top: 15px;
    width: 24px;
    height: 24px;
    pointer-events: none; }
    .mdc-search-select .dropdown:not(.icon) .dropdown.icon::before {
      content: '\f107';
      font-family: 'Font Awesome 5 Pro';
      color: #d41296;
      font-style: normal;
      font-weight: 600; }
  .mdc-search-select .dropdown:not(.icon) input.search {
    height: 100%;
    cursor: pointer;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size: 1rem;
    line-height: 1.75rem;
    font-weight: 400;
    letter-spacing: .00937em;
    text-decoration: inherit;
    text-transform: inherit;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    box-sizing: border-box;
    width: 100%;
    padding: 20px 12px 6px;
    transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    border-radius: 0;
    background: 0 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: rgba(0, 0, 0, 0.87);
    position: absolute;
    bottom: 0;
    left: 0; }
    .mdc-search-select .dropdown:not(.icon) input.search:hover:not(:focus) {
      border-bottom-color: currentColor; }
    .mdc-search-select .dropdown:not(.icon) input.search:focus {
      outline: 0;
      border-bottom: 2px solid var(--theme-medium); }
  .mdc-search-select .dropdown:not(.icon).active {
    background-color: #dbdbdb; }
    .mdc-search-select .dropdown:not(.icon).active .drowdown.icon {
      background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%236200ee%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center; }
  .mdc-search-select .dropdown:not(.icon) input ~ .text {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .00937em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.75 !important; }
  .mdc-search-select .dropdown:not(.icon) select {
    display: none; }
  .mdc-search-select .dropdown:not(.icon) .menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    z-index: 1000;
    background-color: #f5f5f5;
    box-shadow: rgba(0, 0, 0, 0.5) 0 10px 15px -5px;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    cursor: not-allowed; }
    .mdc-search-select .dropdown:not(.icon) .menu .item {
      --mdc-ripple-fg-size: 0;
      --mdc-ripple-left: 0;
      --mdc-ripple-top: 0;
      --mdc-ripple-fg-scale: 1;
      --mdc-ripple-fg-translate-end: 0;
      --mdc-ripple-fg-translate-start: 0;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      will-change: transform, opacity;
      cursor: pointer;
      transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
      line-height: 1.2 !important; }
      .mdc-search-select .dropdown:not(.icon) .menu .item::before, .mdc-search-select .dropdown:not(.icon) .menu .item::after {
        position: absolute;
        border-radius: 50%;
        opacity: 0;
        pointer-events: none;
        content: ""; }
      .mdc-search-select .dropdown:not(.icon) .menu .item::before {
        transition: opacity 15ms linear, background-color 15ms linear;
        z-index: 1; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded::before {
        -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
            -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
                transform: scale(var(--mdc-ripple-fg-scale, 1)); }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded::after {
        top: 0;
        /* @noflip */
        left: 0;
        -webkit-transform: scale(0);
            -ms-transform: scale(0);
                transform: scale(0);
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded--unbounded::after {
        top: var(--mdc-ripple-top, 0);
        /* @noflip */
        left: var(--mdc-ripple-left, 0); }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded--foreground-activation::after {
        -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
                animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded--foreground-deactivation::after {
        -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
                animation: 150ms mdc-ripple-fg-opacity-out;
        -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
                transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
      .mdc-search-select .dropdown:not(.icon) .menu .item::before, .mdc-search-select .dropdown:not(.icon) .menu .item::after {
        top: calc(50% - 100%);
        /* @noflip */
        left: calc(50% - 100%);
        width: 200%;
        height: 200%; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded::after {
        width: var(--mdc-ripple-fg-size, 100%);
        height: var(--mdc-ripple-fg-size, 100%); }
      .mdc-search-select .dropdown:not(.icon) .menu .item::before, .mdc-search-select .dropdown:not(.icon) .menu .item::after {
        background-color: #000; }
      .mdc-search-select .dropdown:not(.icon) .menu .item:hover::before {
        opacity: 0.04; }
      .mdc-search-select .dropdown:not(.icon) .menu .item:not(.mdc-ripple-upgraded):focus::before, .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded--background-focused::before {
        transition-duration: 75ms;
        opacity: 0.12; }
      .mdc-search-select .dropdown:not(.icon) .menu .item:not(.mdc-ripple-upgraded)::after {
        transition: opacity 150ms linear; }
      .mdc-search-select .dropdown:not(.icon) .menu .item:not(.mdc-ripple-upgraded):active::after {
        transition-duration: 75ms;
        opacity: 0.16; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.mdc-ripple-upgraded {
        --mdc-ripple-fg-opacity: 0.16; }
      .mdc-search-select .dropdown:not(.icon) .menu .item:not(.disabled) {
        cursor: pointer; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.filtered {
        display: none; }
      .mdc-search-select .dropdown:not(.icon) .menu .item.disabled {
        opacity: 0.65;
        pointer-events: none; }
    .mdc-search-select .dropdown:not(.icon) .menu .item, .mdc-search-select .dropdown:not(.icon) .menu .message {
      padding: 6px 12px;
      font-size: 1rem;
      line-height: 1.75rem;
      font-weight: 400;
      letter-spacing: .00937em;
      overflow: hidden;
      position: relative; }
  .mdc-search-select .dropdown:not(.icon).multiple .menu .item.active {
    background-color: #dbdbdb;
    color: rgba(0, 0, 0, 0.87);
    color: var(--theme-dark); }
  .mdc-search-select .dropdown:not(.icon):not(.multiple) .menu .item.selected {
    background-color: #dbdbdb;
    color: rgba(0, 0, 0, 0.87); }

.dropdown.ui:not(.mdc-search-select__input) {
  position: relative;
  min-width: 150px;
  outline: none !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28159, 139, 139%29'></polygon></svg>");
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.75rem; }
  .dropdown.ui:not(.mdc-search-select__input) .dropdown.icon {
    display: none; }
  .dropdown.ui:not(.mdc-search-select__input) select {
    display: none !important; }
  .dropdown.ui:not(.mdc-search-select__input) .menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    z-index: 1000;
    background-color: #f5f5f5;
    box-shadow: rgba(0, 0, 0, 0.5) 0 10px 15px -5px;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    cursor: not-allowed; }
    .dropdown.ui:not(.mdc-search-select__input) .menu .item {
      --mdc-ripple-fg-size: 0;
      --mdc-ripple-left: 0;
      --mdc-ripple-top: 0;
      --mdc-ripple-fg-scale: 1;
      --mdc-ripple-fg-translate-end: 0;
      --mdc-ripple-fg-translate-start: 0;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      will-change: transform, opacity;
      cursor: pointer;
      transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
      line-height: 1.2 !important;
      color: #333 !important; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item::before, .dropdown.ui:not(.mdc-search-select__input) .menu .item::after {
        position: absolute;
        border-radius: 50%;
        opacity: 0;
        pointer-events: none;
        content: ""; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item::before {
        transition: opacity 15ms linear, background-color 15ms linear;
        z-index: 1; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded::before {
        -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
            -ms-transform: scale(var(--mdc-ripple-fg-scale, 1));
                transform: scale(var(--mdc-ripple-fg-scale, 1)); }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded::after {
        top: 0;
        /* @noflip */
        left: 0;
        -webkit-transform: scale(0);
            -ms-transform: scale(0);
                transform: scale(0);
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded--unbounded::after {
        top: var(--mdc-ripple-top, 0);
        /* @noflip */
        left: var(--mdc-ripple-left, 0); }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded--foreground-activation::after {
        -webkit-animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards;
                animation: 225ms mdc-ripple-fg-radius-in forwards, 75ms mdc-ripple-fg-opacity-in forwards; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded--foreground-deactivation::after {
        -webkit-animation: 150ms mdc-ripple-fg-opacity-out;
                animation: 150ms mdc-ripple-fg-opacity-out;
        -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            -ms-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
                transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item::before, .dropdown.ui:not(.mdc-search-select__input) .menu .item::after {
        top: calc(50% - 100%);
        /* @noflip */
        left: calc(50% - 100%);
        width: 200%;
        height: 200%; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded::after {
        width: var(--mdc-ripple-fg-size, 100%);
        height: var(--mdc-ripple-fg-size, 100%); }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item::before, .dropdown.ui:not(.mdc-search-select__input) .menu .item::after {
        background-color: #000; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item:hover::before {
        opacity: 0.04; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item:not(.mdc-ripple-upgraded):focus::before, .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded--background-focused::before {
        transition-duration: 75ms;
        opacity: 0.12; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item:not(.mdc-ripple-upgraded)::after {
        transition: opacity 150ms linear; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item:not(.mdc-ripple-upgraded):active::after {
        transition-duration: 75ms;
        opacity: 0.16; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.mdc-ripple-upgraded {
        --mdc-ripple-fg-opacity: 0.16; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item:not(.disabled) {
        cursor: pointer; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.filtered {
        display: none; }
      .dropdown.ui:not(.mdc-search-select__input) .menu .item.disabled {
        opacity: 0.65;
        pointer-events: none; }
    .dropdown.ui:not(.mdc-search-select__input) .menu .item, .dropdown.ui:not(.mdc-search-select__input) .menu .message {
      padding: 6px 12px;
      font-size: 1rem;
      line-height: 1.75rem;
      font-weight: 400;
      letter-spacing: .00937em;
      overflow: hidden;
      position: relative; }

.mdc-text-field .mdc-line-ripple {
  background-color: var(--theme-medium); }

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: var(--theme-medium); }

.gform_wrapper .mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: var(--theme-medium) !important; }

.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:focus ~ .mdc-floating-label {
  color: var(--theme-medium); }

.mdc-search-select .mdc-floating-label {
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  color: rgba(0, 0, 0, 0.6); }

.mdc-search-select:not(.null-selected) .mdc-floating-label {
  -webkit-transform: translateY(-50%) scale(0.75);
      -ms-transform: translateY(-50%) scale(0.75);
          transform: translateY(-50%) scale(0.75); }

.mdc-search-select .dropdown.active + .mdc-floating-label {
  -webkit-transform: translateY(-50%) scale(0.75);
      -ms-transform: translateY(-50%) scale(0.75);
          transform: translateY(-50%) scale(0.75);
  color: var(--theme-medium); }

.sibling-form-groups {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }
  .sibling-form-groups > div {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .sibling-form-groups > div:last-child {
    padding-left: 4px; }
  .sibling-form-groups > div:first-child {
    padding-right: 4px; }
  .sibling-form-groups .mdc-text-field:not(.mdc-text-field--outlined):not(.mdc-text-field--multiline) .mdc-floating-label {
    max-width: 100%; }

.facetwp-btn {
  top: auto !important;
  opacity: 1 !important; }
  .facetwp-btn:before {
    content: none !important; }

.mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  content: ""; }

.mdc-select__native-control:required ~ .mdc-floating-label::after, .mdc-select__native-control:required ~ .mdc-notched-outline .mdc-floating-label::after {
  content: ""; }

@media print, screen and (min-width: 40em) {
  .facetwp-facet.facetwp-type-fselect .fs-dropdown {
    width: 350px; } }

.facetwp-facet .fs-option {
  cursor: pointer;
  word-break: normal;
  white-space: normal; }

.facetwp-facet .fs-options {
  overflow-x: hidden; }

.facetwp-facet .fs-wrap.multiple .fs-option.selected .fs-checkbox i {
  background-color: var(--theme-medium); }

.reveal-header {
  transition: 0.3s background-color ease; }
  .reveal-header.reveal-header-error {
    background-color: #cc5b4a; }

.reveal-header-input-label .reveal-header-input, .reveal-header-input-label .reveal-header-input-temp {
  max-width: calc(100% - 8rem);
  color: #fefefe;
  font-weight: 700;
  background: transparent;
  border: none;
  transition: border 0.2s ease;
  border-bottom: 2px solid #fefefe;
  outline: none; }

.reveal-header-input-label .reveal-header-input-button {
  width: 2rem;
  text-align: center;
  font-size: 1.2rem;
  display: inline-block;
  cursor: pointer;
  color: #fefefe;
  opacity: 1;
  transition: all 0.2s ease; }
  .reveal-header-input-label .reveal-header-input-button:hover {
    color: #ebebeb; }

.reveal-header-input-label .reveal-header-input::-webkit-input-placeholder {
  color: rgba(254, 254, 254, 0.5); }

.reveal-header-input-label .reveal-header-input:-ms-input-placeholder {
  color: rgba(254, 254, 254, 0.5); }

.reveal-header-input-label .reveal-header-input::placeholder {
  color: rgba(254, 254, 254, 0.5); }

.reveal-header-input-label .reveal-header-input::-webkit-input-placeholder {
  color: rgba(254, 254, 254, 0.5); }

.reveal-header-input-label .reveal-header-input:focus {
  border-color: transparent; }
  .reveal-header-input-label .reveal-header-input:focus + .reveal-header-input-button {
    opacity: 0; }

.reveal-header-input-label .reveal-header-input-temp {
  width: auto;
  display: inline;
  opacity: 0;
  position: absolute;
  bottom: -100px;
  white-space: nowrap; }

.reveal-header-input-label .form-error, .reveal-header-input-label .ood-wp-form-error {
  color: #fefefe; }
  .reveal-header-input-label .form-error::before, .reveal-header-input-label .ood-wp-form-error::before {
    content: "ERROR: "; }

.ood-wp-alert-error {
  color: #d64b13; }

.datepicker {
  font-family: Roboto, sans-serif; }
  .datepicker .datepicker--nav-title, .datepicker .datepicker--day-name {
    font-family: Karla,sans-serif;
    text-transform: uppercase;
    color: var(--theme-medium); }
  .datepicker .datepicker--day-name {
    color: var(--theme-dark); }
  .datepicker .datepicker--cell.-selected-, .datepicker .datepicker--cell.-selected-.-current- {
    background-color: var(--theme-light);
    color: #fefefe; }
  .datepicker .datepicker--cell.-current- {
    color: var(--theme-light); }

.mdc-button--extended, .button, .file_div_clean.wfu_container input[type="button"], .mdc-white-filled {
  position: relative;
  top: 0;
  transition: all 0.1s ease; }
  .mdc-button--extended:active, .button:active, .file_div_clean.wfu_container input:active[type="button"], .mdc-white-filled:active {
    box-shadow: 0 2px 0 0 var(--theme-dark) !important;
    top: 3px; }

.disabled label {
  opacity: 0.5;
  cursor: not-allowed !important; }

.disabled .mdc-checkbox {
  cursor: not-allowed; }

.ood-wp-error-form-group .theme-icon {
  color: #d64b13; }
  .ood-wp-error-form-group .theme-icon svg {
    fill: #d64b13; }

.ood-wp-field-description {
  margin-bottom: 0; }

.ood-wp-file-preview figure.ood-wp-loaded {
  overflow: hidden;
  width: 16rem;
  height: 12rem;
  max-width: 100%;
  position: relative; }
  .ood-wp-file-preview figure.ood-wp-loaded::after {
    transition: box-shadow 200ms ease;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    box-shadow: inset 0 -2rem 1rem rgba(0, 0, 0, 0.4); }
  .ood-wp-file-preview figure.ood-wp-loaded img, .ood-wp-file-preview figure.ood-wp-loaded object {
    min-width: 100%;
    min-height: 100%; }
  .ood-wp-file-preview figure.ood-wp-loaded figcaption {
    position: absolute;
    bottom: 0.25rem;
    left: 0.5rem;
    color: white;
    font-weight: bold;
    z-index: 1;
    text-overflow: ellipsis;
    white-space: nowrap; }

.product-template-reveal {
  top: 100px !important; }
  .product-template-reveal .ood-load-form--loading-container, .product-template-reveal .ood-load-form--error-container {
    padding: 1rem; }

header .input-group-button {
  padding-top: 1rem; }
  header .input-group-button i {
    color: #d41296;
    font-size: 1.3rem;
    font-weight: 500; }
    header .input-group-button i:hover {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2);
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; }

header .input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #ffffff;
  padding-left: 1.5rem; }
  header .input-group .input-group-field {
    border: none;
    max-width: 5rem;
    padding-top: 1rem; }
  header .input-group:hover {
    border-bottom: 1px solid #d41296;
    transition: border-bottom 0.2s ease; }

.woocommerce .cart-container .cart {
  box-shadow: none; }
  .woocommerce .cart-container .cart button {
    box-shadow: none !important;
    text-transform: lowercase;
    padding: 1rem 2rem; }
  .woocommerce .cart-container .cart .cart-row {
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
    background: transparent;
    padding: 1rem; }
    .woocommerce .cart-container .cart .cart-row .field-group h5 {
      display: inline-block;
      font-size: 0.9rem;
      color: #666666; }
    .woocommerce .cart-container .cart .cart-row .field-group highlight {
      color: #d41296; }
    .woocommerce .cart-container .cart .cart-row .field-group p {
      display: inline-block; }
    .woocommerce .cart-container .cart .cart-row .field-group-heading {
      color: #000000;
      text-transform: initial;
      font-weight: 600;
      font-size: 1.2rem;
      padding-top: 1rem; }
    .woocommerce .cart-container .cart .cart-row .gray-toggle {
      width: 100%; }
    .woocommerce .cart-container .cart .cart-row h3 {
      color: #d41296;
      padding: 1rem 0 0 1rem;
      font-weight: 600; }
    .woocommerce .cart-container .cart .cart-row .mdc-text-field {
      max-width: 14rem;
      border-bottom: 1px solid #d41296;
      background-color: transparent; }
      .woocommerce .cart-container .cart .cart-row .mdc-text-field input {
        color: #d41296; }
      .woocommerce .cart-container .cart .cart-row .mdc-text-field:focus {
        color: #d41296; }
    .woocommerce .cart-container .cart .cart-row .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
      border-bottom-color: unset; }

.woocommerce .cart-container .form-sections-header {
  background-color: transparent; }
  .woocommerce .cart-container .form-sections-header h2 {
    color: #d41296; }

.woocommerce #update-cart-button {
  float: left; }

.woocommerce button {
  border: 1px solid #d41296 !important;
  color: #d41296 !important;
  margin: 0 1rem 0 0 !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important; }

.woocommerce .checkout-buttons button {
  padding-top: 0 !important; }

.woocommerce .cart-subtotal td {
  font-weight: 400;
  padding-left: 0.5rem !important; }

.woocommerce .cart-subtotal th::after {
  content: ':'; }

.woocommerce i {
  padding-right: 0.5rem; }

.woocommerce .cart-shipping-form {
  padding: 2rem 2rem 0 0; }

.woocommerce .checkout-form {
  box-shadow: none !important; }

.woocommerce .form-section-header {
  color: #666666;
  text-transform: uppercase !important;
  font-weight: 600; }

.woocommerce .order-total {
  font-size: 1.4rem; }
  .woocommerce .order-total td {
    padding-left: 0.5rem !important; }
    .woocommerce .order-total td strong {
      font-weight: 400; }
  .woocommerce .order-total th {
    vertical-align: top; }
    .woocommerce .order-total th::after {
      content: ':'; }

.woocommerce .shipping td {
  font-weight: 400;
  padding-left: 0.5rem !important; }

.woocommerce .shipping th {
  vertical-align: top; }
  .woocommerce .shipping th::after {
    content: ':'; }

.woocommerce .tax-rate td {
  font-weight: 400;
  padding-left: 0.5rem !important; }

.woocommerce .tax-rate th::after {
  content: ':'; }

.woocommerce .wc-credit-card-form .form-row {
  margin-right: 2rem; }

@media screen and (max-width: 63.9375em) {
  .woocommerce .wc-credit-card-form .form-row-first {
    width: 100%; } }

@media screen and (max-width: 63.9375em) {
  .woocommerce .wc-credit-card-form .form-row-last {
    width: 100%;
    float: none; } }

.woocommerce .wc-credit-card-form .form-row-wide {
  width: 100%; }
  @media screen and (min-width: 64em) {
    .woocommerce .wc-credit-card-form .form-row-wide {
      width: 50rem; } }

@media screen and (max-width: 63.9375em) {
  .woocommerce .wc-credit-card-form {
    display: block; } }

.vertical-rule {
  border-left: 3px solid #d41296;
  margin: 0 -2rem 0 2rem; }
  .vertical-rule span {
    margin-left: -1.5rem;
    background-color: #ffffff;
    border: 3px solid #d41296;
    color: #d41296;
    font-size: 1.4rem; }

.vertical-rule--alt {
  margin: 0 -2rem 0 2rem; }
  .vertical-rule--alt span {
    margin-left: -1.5rem;
    background-color: #ffffff;
    border: 3px solid #d41296;
    color: #d41296;
    font-size: 1.4rem; }

@media print, screen and (min-width: 64em) {
  form button {
    margin: 2rem -2rem 0 0 !important;
    background-color: transparent !important;
    float: right;
    color: #000000 !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important; }
  form .gform_fields li {
    margin: 0 0.5rem; }
  form .gform_fields .gfield--width-third {
    display: inline-block;
    width: 46.7%; }
  form .gform_fields .gfield--width-two-thirds {
    display: inline-block;
    width: 97%; }
  form .gform_fields .mdc-text-field {
    max-height: 8rem; }
  form .gform_fields .ginput_container_textarea {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 75em) {
  form .gform_fields .gfield--width-third {
    width: 30.6%; }
  form .gfield--width-two-thirds {
    width: 63.9% !important; } }

.list-menu ul.menu {
  display: block; }
  .list-menu ul.menu li a {
    padding: 0;
    margin-bottom: 0.8rem; }

.mdc-menu .mdc-list .mdc-list-item .mdc-list-item__text {
  height: 100%;
  width: calc(100% + 32px);
  margin: 0 -16px;
  padding: 0 16px;
  color: #333;
  cursor: pointer;
  text-align: left;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .mdc-menu .mdc-list .mdc-list-item .mdc-list-item__text i {
    margin-right: 1rem;
    height: 18px;
    width: 18px; }
    .mdc-menu .mdc-list .mdc-list-item .mdc-list-item__text i svg {
      height: 18px;
      width: 18px;
      margin-top: -0.5rem;
      fill: #333; }

.mobile-off-canvas-menu {
  padding-top: 4rem; }

.theme-icon {
  height: 1.6rem;
  width: 1.6rem; }
  .theme-icon svg {
    fill: var(--theme-medium);
    max-height: 100%;
    max-width: 100%;
    transition: all 0.2s ease; }
    .theme-icon svg * {
      fill: inherit; }

[disabled] ~ .theme-icon svg, [readonly] ~ .theme-icon svg {
  fill: #cfcfcf; }

.fa-button-icon {
  font-size: 1.5rem;
  margin-right: 0.5rem; }

#pageLoadProgressBar {
  position: fixed !important;
  top: 0;
  z-index: 9999;
  height: 5px;
  box-shadow: 0 0px 10px 2px rgba(51, 51, 51, 0.5); }
  #pageLoadProgressBar .mdc-linear-progress__buffering-dots {
    background-color: #ebebeb; }
  #pageLoadProgressBar .mdc-linear-progress__bar-inner {
    background-color: var(--theme-medium, #6200ee); }

.admin-bar #pageLoadProgressBar {
  top: 2rem; }

.accordion-item {
  margin: 1rem 0; }
  .accordion-item .accordion-content {
    background-color: #e3e3e3; }
  .accordion-item .accordion-title {
    border: none;
    color: #666666;
    font-weight: bold;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1); }
  .accordion-item .accordion-title::before {
    color: #d41296;
    content: '\f107';
    font-family: 'Font Awesome 5 Pro'; }

.is-active .accordion-title::before {
  content: '\f106';
  transition: content 0.2s ease; }

.blue .featured-content-image {
  opacity: 30%; }

.featured-content {
  position: relative;
  min-height: 22rem;
  overflow: hidden; }
  .featured-content .featured-content-image {
    position: absolute;
    right: 0;
    bottom: 0; }

.featured-products-intro {
  padding: 0 2rem; }
  .featured-products-intro a {
    color: #000000;
    border: 2px solid #000000;
    padding: 0.5rem 1rem;
    height: 2.5rem; }
    .featured-products-intro a:hover {
      background-color: rgba(212, 18, 150, 0.1); }
  .featured-products-intro a::after {
    content: '\f061';
    font-family: 'Font Awesome 5 Pro';
    padding-left: 0.6rem; }
  @media screen and (max-width: 39.9375em) {
    .featured-products-intro {
      height: 8rem; }
      .featured-products-intro h2 {
        margin-bottom: 1rem; } }
  @media screen and (min-width: 40em) {
    .featured-products-intro {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.media-layout {
  position: relative;
  min-height: 34rem; }
  .media-layout .media-object-image {
    position: absolute;
    right: 0;
    bottom: 0; }
    .media-layout .media-object-image img {
      float: right;
      height: 10rem; }
      @media print, screen and (min-width: 64em) {
        .media-layout .media-object-image img {
          margin-right: -3rem;
          height: 28rem; } }

.media-layout {
  position: relative; }
  .media-layout .media-object {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .media-layout .media-object h3 {
      color: #000000; }
    .media-layout .media-object img {
      max-height: 30rem;
      position: absolute;
      bottom: 0;
      right: 0; }
      @media screen and (max-width: 63.9375em) {
        .media-layout .media-object img {
          height: 15rem;
          width: unset !important; } }

.product-background {
  background-color: #ffffff;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 2rem;
  height: 100%; }
  .product-background h2 {
    font-size: 1.7rem;
    color: #666666; }
  .product-background hr {
    margin: 1.5rem auto; }
  .product-background p {
    color: #666666; }

.reveal {
  background-color: transparent; }
  .reveal button {
    padding: 0.25rem 1rem !important;
    border: 1.5px solid #d41296; }
    .reveal button i {
      padding-right: 1rem; }
  .reveal .reveal-shadow {
    box-shadow: 0px 0 10px 0 rgba(0, 0, 0, 0.8);
    background-color: white; }
  .reveal .close-button {
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 1.65rem;
    right: 2rem;
    border: none !important;
    margin: -0.4rem -1.5rem 0 0 !important; }
    .reveal .close-button svg {
      fill: #d41296;
      transition: fill 0.25s ease;
      -webkit-transform: scale(0.5);
          -ms-transform: scale(0.5);
              transform: scale(0.5);
      float: right; }
      .reveal .close-button svg * {
        fill: inherit; }
    .reveal .close-button:hover svg {
      fill: #f15bc1; }
  .reveal .reveal-header {
    padding: 2rem 2rem 0 2rem; }
    .reveal .reveal-header h3 {
      font-size: 2rem;
      color: #333;
      font-weight: bold;
      width: calc(100% - 3.5rem); }
  .reveal .reveal-body {
    padding: 1.5rem 2rem 19rem;
    position: relative; }
    .reveal .reveal-body:after {
      content: ' ';
      background-image: url("../images/city-no-plane.png");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: bottom;
      max-height: 20rem;
      min-height: 15rem;
      width: 100%;
      position: absolute;
      bottom: 0;
      margin-left: -2rem; }
  .reveal .cancel-button-container {
    text-align: center;
    margin-top: 1rem; }
    .reveal .cancel-button-container button {
      margin-right: 0;
      margin-bottom: 1rem;
      padding: 1rem; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .reveal {
      width: 90% !important; } }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      width: 100% !important; } }

.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left; }
  .front-hero .marketing {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 55rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media print, screen and (min-width: 40em) {
      .front-hero .marketing {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .front-hero {
      background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
      background-size: cover;
      background-position: center;
      height: 42.8125rem;
      margin: 0 0 4.5rem; } }
  .front-hero .watch {
    width: calc(58.33333% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .watch {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .front-hero .watch a {
      color: #B4C9D1;
      cursor: pointer;
      font-weight: 400;
      margin-right: 1.25rem; }
    .front-hero .watch a:hover {
      color: #fff; }
    .front-hero .watch #stargazers :before {
      content: "\f09b";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
    .front-hero .watch #twitter :before {
      content: "\f099";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
  .front-hero .tagline {
    width: calc(66.66667% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .tagline {
        width: calc(41.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        padding-top: 6rem; } }
  .front-hero h1 {
    color: #fff;
    font-weight: 500;
    font-size: 2.2rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero h1 {
        font-size: 2.875rem; } }
  .front-hero h4 {
    color: #fefefe;
    font-weight: 300;
    font-size: 1.3125rem; }
  .front-hero .download {
    margin-top: 1.25rem; }

.intro {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .intro {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .intro .fp-intro {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .intro .fp-intro {
        width: calc(83.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-left: calc(8.33333% + 0.625rem); }
        .intro .fp-intro h2 {
          font-weight: 300;
          margin-bottom: 1.5rem; }
        .intro .fp-intro h4 {
          font-size: 1.125rem;
          line-height: 1.6;
          color: #777;
          margin-bottom: 2rem; } }

.section-divider {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .section-divider {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .section-divider hr {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .benefits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .benefits header {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .benefits header h2 {
      font-weight: 300; }
    .benefits header h4 {
      font-size: 1.125rem;
      line-height: 1.6;
      color: #777; }
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .benefits .semantic img,
    .benefits .responsive img,
    .benefits .customizable img,
    .benefits .professional img {
      padding: 1.25rem;
      margin: 1rem auto 0 auto; }
    .benefits .semantic h3,
    .benefits .responsive h3,
    .benefits .customizable h3,
    .benefits .professional h3 {
      color: #0a0a0a;
      font-weight: 300;
      font-size: 1.75rem; }
    .benefits .semantic p,
    .benefits .responsive p,
    .benefits .customizable p,
    .benefits .professional p {
      font-size: 0.9375rem; }
  .benefits .why-foundation {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-top: 4rem; }

.proofs-table {
  padding-top: 1rem; }

.single-proofs .main-content {
  margin-top: -1rem;
  background-color: #ebebeb;
  padding: 1rem; }
  .single-proofs .main-content .download-pdf {
    margin-top: 2.5rem;
    margin-bottom: 1rem; }
  .single-proofs .main-content section {
    padding: 1rem;
    background-color: #fefefe;
    margin-bottom: 1rem;
    box-shadow: 0 4px 7px 0 #929292; }
    .single-proofs .main-content section h2 {
      text-transform: uppercase;
      font-size: 2.5rem;
      color: var(--theme-medium);
      display: inline-block; }
      .single-proofs .main-content section h2.status-proof-approved, .single-proofs .main-content section h2.status-proof-not-approved {
        border-radius: 10px;
        color: #fefefe;
        padding: 0.25rem 1rem;
        margin-bottom: 0.5rem; }
      .single-proofs .main-content section h2.status-proof-approved {
        background-color: #23bf5d; }
      .single-proofs .main-content section h2.status-proof-not-approved {
        background-color: #ffb61a; }
  .single-proofs .main-content dl {
    margin-bottom: 0;
    line-height: 1.2; }
    .single-proofs .main-content dl dt {
      margin-bottom: 0; }
    .single-proofs .main-content dl dd {
      margin-bottom: 0.5rem; }
      .single-proofs .main-content dl dd a {
        color: #333;
        text-decoration: underline; }
        .single-proofs .main-content dl dd a i {
          text-decoration: none;
          padding-left: 0.2rem; }
        .single-proofs .main-content dl dd a:hover {
          color: #929292; }

.comments-form .ood-wp-delete-repeater-item {
  display: none; }

.comments-form .ood-wp-add-repeater-item {
  display: none; }

.comments-form .form-repeater-item {
  display: none; }

.comments-form .form-repeater-item:last-child {
  display: block; }

.comments-form .comments-field-container > .form-group > label {
  display: none; }

.version-form {
  position: relative; }
  .version-form .ood-wp-file-preview {
    width: 150px;
    height: 150px;
    overflow: hidden; }
    .version-form .ood-wp-file-preview img {
      min-height: 150px;
      min-width: 150px;
      max-width: none;
      height: 100%; }
  .version-form .ood-wp-delete-repeater-item {
    display: none; }
  .version-form .ood-wp-add-repeater-item {
    display: none; }
  .version-form .form-repeater-item {
    display: none; }
  .version-form .form-repeater-item:last-child {
    display: block; }
  .version-form .ood-wp-add-repeater-item {
    position: absolute;
    top: 0;
    left: 0; }
  .version-form .proofs-proof-versions-repeater, .version-form [data-field-class="proofs-proof-versions-repeater"] {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
    .version-form .proofs-proof-versions-repeater .ood-wp-delete-repeater-item, .version-form [data-field-class="proofs-proof-versions-repeater"] .ood-wp-delete-repeater-item {
      top: 50%; }
    .version-form .proofs-proof-versions-repeater .form-repeater-item, .version-form [data-field-class="proofs-proof-versions-repeater"] .form-repeater-item {
      padding: 0.5rem;
      top: 50%; }
  .version-form > .form-group > label {
    display: none; }

.proofs-status .mdc-button, .proofs-status .button, .proofs-status .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .proofs-status input[type="button"], .proofs-status .version-form .ood-wp-add-repeater-item, .version-form .proofs-status .ood-wp-add-repeater-item {
  margin-right: 0.5rem !important; }
  .proofs-status .mdc-button:before, .proofs-status .button:before, .proofs-status .file_div_clean.wfu_container input[type="button"]:before, .file_div_clean.wfu_container .proofs-status input[type="button"]:before, .proofs-status .version-form .ood-wp-add-repeater-item:before, .version-form .proofs-status .ood-wp-add-repeater-item:before {
    font-family: "Font Awesome 5 Free"; }

.proofs-status .mdc-button, .proofs-status .button, .proofs-status .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .proofs-status input[type="button"], .proofs-status .version-form .ood-wp-add-repeater-item, .version-form .proofs-status .ood-wp-add-repeater-item {
  border-color: #3adb76; }
  .proofs-status .mdc-button i, .proofs-status .button i, .proofs-status .file_div_clean.wfu_container input[type="button"] i, .file_div_clean.wfu_container .proofs-status input[type="button"] i, .proofs-status .version-form .ood-wp-add-repeater-item i, .version-form .proofs-status .ood-wp-add-repeater-item i {
    font-size: 1rem;
    margin-right: 0.25rem;
    color: #3adb76; }

.proofs-status .mdc-button:last-child, .proofs-status .button:last-child, .proofs-status .file_div_clean.wfu_container input:last-child[type="button"], .file_div_clean.wfu_container .proofs-status input:last-child[type="button"], .proofs-status .version-form .ood-wp-add-repeater-item:last-child, .version-form .proofs-status .ood-wp-add-repeater-item:last-child {
  border-color: #ffae00; }
  .proofs-status .mdc-button:last-child i, .proofs-status .button:last-child i, .proofs-status .file_div_clean.wfu_container input:last-child[type="button"] i, .file_div_clean.wfu_container .proofs-status input:last-child[type="button"] i, .proofs-status .version-form .ood-wp-add-repeater-item:last-child i, .version-form .proofs-status .ood-wp-add-repeater-item:last-child i {
    color: #ffae00; }

.proofs-status .button-radio-field:checked + .button-radio-label {
  background-color: #23bf5d; }
  .proofs-status .button-radio-field:checked + .button-radio-label i {
    color: #fefefe; }

.proofs-status .button-radio-field:checked + .button-radio-label:last-child {
  background-color: #ffb61a; }

#RejectionComments #submitRejectionComments {
  margin-top: 1rem; }

.page-template-form .main-content, .page-template-create-account .main-content {
  background-color: #ebebeb; }

.page-template-form .two-column, .page-template-create-account .two-column {
  padding-left: 1rem;
  padding-right: 1rem; }
  .page-template-form .two-column .gform_fields, .page-template-create-account .two-column .gform_fields {
    padding: 1rem;
    background-color: #fefefe;
    box-shadow: 0 4px 7px 0 #929292; }

.login-image-container {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 39.9375em) {
    .login-image-container {
      background: none !important; } }

.login-divider-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0 !important; }
  .login-divider-container .login-divider {
    width: 1px;
    background-color: var(--theme-dark);
    height: 100%; }

#selectCurrentCompany .mdc-list {
  border-radius: 5px;
  border: 1px solid var(--theme-medium);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 0;
  overflow: hidden; }
  #selectCurrentCompany .mdc-list .mdc-list-item ~ .mdc-list-item {
    border-top: 1px solid var(--theme-medium); }

[data-tooltip] {
  outline: none !important; }

.tooltip a {
  color: inherit;
  text-decoration: underline; }
  .tooltip a:hover {
    color: #929292; }

address {
  font-weight: bold;
  line-height: 1.3;
  font-size: 0.875rem; }

.ood-wp-file-previews ~ .ood-wp-field-description {
  display: none !important; }

.ood-wp-file-previews:empty ~ .ood-wp-field-description {
  display: inline-block !important; }

.has-tip {
  border-bottom: 0; }

.jobs-table .job-description-column {
  max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

@media screen and (max-width: 39.9375em) {
  .jobs-table td {
    display: block; }
  .jobs-table thead {
    display: none; } }

#placingOrder .resubmit-order[disabled] {
  pointer-events: auto; }
  #placingOrder .resubmit-order[disabled]:active {
    top: 0;
    box-shadow: 0 5px 0 0 var(--theme-dark) !important; }

#placingOrder .submitting-messages i {
  font-size: 1.5rem;
  vertical-align: middle;
  margin-right: 1rem; }

#placingOrder .date-errors .date-error {
  padding: 0.75rem 0;
  position: relative; }
  #placingOrder .date-errors .date-error i.fa-exclamation-triangle {
    color: #ffae00; }
  #placingOrder .date-errors .date-error i.fa-check-circle {
    color: #3adb76; }
  #placingOrder .date-errors .date-error i.fa-check-circle, #placingOrder .date-errors .date-error i.fa-exclamation-triangle {
    font-size: 1.2rem;
    vertical-align: middle;
    margin-right: 0.5rem; }
  #placingOrder .date-errors .date-error .modify-delivery, #placingOrder .date-errors .date-error .approve-priority {
    border-bottom-width: 1px !important;
    border-style: solid;
    padding: 0 10px;
    min-width: 40px;
    font-size: 0.8rem;
    height: 28px;
    border-radius: 8px !important; }
    #placingOrder .date-errors .date-error .modify-delivery svg, #placingOrder .date-errors .date-error .approve-priority svg {
      height: 0.9rem;
      width: 0.9rem;
      margin-right: 0; }
  #placingOrder .date-errors .date-error i {
    border-bottom: none; }
  #placingOrder .date-errors .date-error > .cell.shrink {
    min-width: 1px; }
  #placingOrder .date-errors .date-error .modify-delivery-form {
    background-color: #ebebeb; }
    #placingOrder .date-errors .date-error .modify-delivery-form .copy-suggested-date {
      padding-left: 0.4rem;
      cursor: pointer; }
  #placingOrder .date-errors .date-error .loading-overlay {
    display: block;
    position: absolute;
    background-color: rgba(254, 254, 254, 0.5);
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #placingOrder .date-errors .date-error:not(.loading) .loading-overlay {
    display: none; }

#placingOrder .date-errors .date-error ~ .date-error {
  border-top: 1px solid #929292; }

.datepickers-container {
  z-index: 2000; }

.filter {
  display: block;
  padding: 0;
  padding-bottom: 0.5rem;
  vertical-align: middle;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .filter {
      display: inline-block;
      padding: 0 0.25rem;
      max-width: 250px; } }
  @media print, screen and (min-width: 64em) {
    .filter {
      padding: 0 0.75rem; } }
  .filter select, .filter .fs-wrap, .filter .dropdown.ui {
    height: 32px;
    padding: 0 .75rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    border: 0;
    border-radius: 4px;
    background-image: url("../images/dropdown-arrow.png");
    background-position: right -1rem center;
    background-origin: content-box;
    background-repeat: no-repeat;
    background-size: 9px 6px;
    padding-right: 1.75rem;
    transition: background-color 0.15s ease;
    cursor: pointer;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #f5f5f5 !important; }
    .filter select:hover, .filter .fs-wrap:hover, .filter .dropdown.ui:hover {
      outline: none;
      background-color: #ececec !important; }
    .filter select:focus, .filter .fs-wrap:focus, .filter .dropdown.ui:focus {
      outline: none;
      background-color: #ececec !important; }
    .filter select .fs-label-wrap, .filter .fs-wrap .fs-label-wrap, .filter .dropdown.ui .fs-label-wrap {
      position: static;
      background-color: transparent;
      border: none;
      cursor: inherit;
      width: 100%; }
      .filter select .fs-label-wrap .fs-arrow, .filter .fs-wrap .fs-label-wrap .fs-arrow, .filter .dropdown.ui .fs-label-wrap .fs-arrow {
        display: none; }
      .filter select .fs-label-wrap .fs-label, .filter .fs-wrap .fs-label-wrap .fs-label, .filter .dropdown.ui .fs-label-wrap .fs-label {
        padding: 0 !important; }
  .filter .facetwp-facet {
    margin-bottom: 0; }
  .filter .facetwp-type-search {
    position: relative; }
    .filter .facetwp-type-search .facetwp-search-wrap.mdc-text-field {
      position: static;
      will-change: auto;
      display: block; }
      .filter .facetwp-type-search .facetwp-search-wrap.mdc-text-field:before, .filter .facetwp-type-search .facetwp-search-wrap.mdc-text-field:after {
        content: none; }
      .filter .facetwp-type-search .facetwp-search-wrap.mdc-text-field .awesomplete ul {
        width: 100%;
        position: absolute; }
      @media screen and (max-width: 39.9375em) {
        .filter .facetwp-type-search .facetwp-search-wrap.mdc-text-field {
          max-width: 12rem; } }
    .filter .facetwp-type-search input {
      padding-right: 3.5rem !important; }
    @media screen and (max-width: 39.9375em) {
      .filter .facetwp-type-search {
        max-width: 13rem; } }

.dropdown.ui .menu, .dropdown.mdc-search-select__input .menu {
  max-height: 300px;
  overflow: scroll !important; }

.address-item {
  line-height: 1.2rem; }

.reset-container {
  display: inline-block; }

.product-filters-container {
  padding-bottom: 2rem; }

.order-from-template {
  min-width: 350px;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 1rem; }
  .order-from-template .mdc-floating-label {
    color: var(--theme-medium); }

.templates-tab .product-filters-container {
  padding-bottom: 0; }

.templates .template .template-details {
  height: 100%;
  background-image: url(../images/templates-background-image.jpg);
  padding: 1rem;
  border-radius: 5px;
  background-size: cover;
  background-repeat: no-repeat; }
  .templates .template .template-details a {
    color: #fefefe; }
    .templates .template .template-details a .material {
      font-size: 1.2rem;
      margin-top: 0.5rem;
      line-height: 1.2; }
    .templates .template .template-details a .template-name, .templates .template .template-details a .template-product-title, .templates .template .template-details a .material {
      color: #fefefe;
      text-transform: uppercase;
      width: 100%;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      margin-bottom: 0; }

.facetwp-pager {
  margin: 1rem 0; }

.products .product {
  -webkit-perspective: 1000px;
          perspective: 1000px;
  height: 18rem; }
  .products .product a {
    color: #666666;
    line-height: 2rem;
    font-size: 1rem; }
  .products .product.active .product-background {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg); }
  .products .product hr {
    margin: 1.5rem auto; }
  .products .product .product-details, .products .product .product-description {
    padding: 2rem !important;
    overflow: hidden;
    padding: 0.75rem;
    padding-right: 2.25rem;
    height: 100%;
    width: 100%;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    background: var(--theme-medium) var(--background-product-image);
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 5px;
    background-size: cover;
    background-repeat: no-repeat; }
  .products .product .product-details {
    z-index: 2;
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
    text-align: center; }
  .products .product .product-description {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    background-color: rgba(51, 51, 51, 0.3); }
    .products .product .product-description p {
      overflow: hidden;
      text-overflow: ellipsis;
      height: 100%;
      width: 100%;
      -webkit-line-clamp: 5;
      /* autoprefixer: off */
      -webkit-box-orient: vertical;
      /* autoprefixer: on */
      display: -webkit-box; }
    .products .product .product-description .product-thumbnail {
      max-height: 100%; }
    .products .product .product-description .full-height {
      height: 100%; }
    .products .product .product-description .cell ~ .cell.product-excerpt {
      padding-left: 1rem; }
  .products .product .product-background {
    position: relative;
    color: #fefefe;
    height: 100%;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: 0.5s;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    border-radius: 5px;
    background-size: cover;
    background-repeat: no-repeat; }
    .products .product .product-background h2 {
      font-size: 1.5rem;
      margin-bottom: 1rem;
      line-height: 1.2; }
    .products .product .product-background p {
      margin: 0; }
    .products .product .product-background p.material {
      font-size: 1.2rem;
      margin-bottom: 0;
      margin-top: 0.5rem;
      line-height: 1.2; }
    .products .product .product-background h2, .products .product .product-background p.material {
      color: #fefefe;
      text-transform: uppercase;
      width: 100%;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden; }
    .products .product .product-background a.toggle-product {
      position: absolute;
      right: 0.75rem;
      top: 0.75rem;
      height: 1.2rem;
      width: 1.2rem;
      background-repeat: no-repeat;
      background-size: contain;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease;
      z-index: 3;
      background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.9 18.9'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath class='cls-1' d='M305.45,387a9.45,9.45,0,1,0,9.45,9.45,9.45,9.45,0,0,0-9.45-9.45Zm2,14.65-1.17.44a3,3,0,0,1-1,.15,2,2,0,0,1-1.38-.44,1.37,1.37,0,0,1-.49-1.09,3.23,3.23,0,0,1,0-.53,6,6,0,0,1,.11-.6l.61-2.15a5.5,5.5,0,0,0,.14-.59,2.34,2.34,0,0,0,.06-.5.76.76,0,0,0-.18-.58.91.91,0,0,0-.64-.16,1.71,1.71,0,0,0-.49.07l-.42.14.16-.66c.4-.16.78-.3,1.14-.41a3.35,3.35,0,0,1,1-.18,1.94,1.94,0,0,1,1.35.43,1.41,1.41,0,0,1,.47,1.1c0,.09,0,.25,0,.49a3.13,3.13,0,0,1-.12.65l-.6,2.14a4,4,0,0,0-.14.59,3.09,3.09,0,0,0-.06.5.73.73,0,0,0,.19.58,1,1,0,0,0,.67.16,2.05,2.05,0,0,0,.5-.08l.4-.13Zm-.11-8.7a1.53,1.53,0,0,1-2,0,1.29,1.29,0,0,1,0-1.92,1.53,1.53,0,0,1,2,0,1.31,1.31,0,0,1,0,1.92Zm0,0' transform='translate(-296 -387)'/%3E%3C/svg%3E"); }
      .products .product .product-background a.toggle-product:hover {
        -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
                transform: scale(1.1); }
      .products .product .product-background a.toggle-product.close {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
        background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 41.58 41.58'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bclip-path:url(%23clip-path);%7D.cls-3%7Bfill:%23fff;%7D%3C/style%3E%3CclipPath id='clip-path' transform='translate(-285 -375.42)'%3E%3Crect class='cls-1' x='285' y='375' width='42' height='42.96'/%3E%3C/clipPath%3E%3C/defs%3E%3Ctitle%3Eclose%3C/title%3E%3Cg class='cls-2'%3E%3Cpath class='cls-3' d='M320.5,381.5a20.8,20.8,0,1,0,0,29.42,20.83,20.83,0,0,0,0-29.42ZM314,404.41a1.59,1.59,0,0,1-2.26,0l-5.94-5.94-6.22,6.22a1.6,1.6,0,0,1-2.27-2.26l6.23-6.22-5.94-5.94a1.6,1.6,0,0,1,2.26-2.26l5.94,5.94,5.66-5.66a1.61,1.61,0,0,1,2.26,0,1.59,1.59,0,0,1,0,2.26l-5.66,5.66,5.94,5.94a1.59,1.59,0,0,1,0,2.26Zm0,0' transform='translate(-285 -375.42)'/%3E%3C/g%3E%3C/svg%3E"); }
        .products .product .product-background a.toggle-product.close:hover {
          -webkit-transform: rotate(90deg) scale(1.1);
              -ms-transform: rotate(90deg) scale(1.1);
                  transform: rotate(90deg) scale(1.1); }
  .products .product .woocommerce-loop-product__title {
    text-align: center; }

.dimensions dt {
  text-transform: uppercase; }

.dimensions .dimensions-total {
  border-radius: 10px;
  border: 1px solid black;
  padding: 0.6rem;
  margin: 0.25rem -0.1rem 0; }
  .dimensions .dimensions-total dd {
    margin-bottom: 0; }
    .dimensions .dimensions-total dd::before {
      position: absolute; }

.wc-block-grid__product {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  margin: 1rem; }
  .wc-block-grid__product .wc-block-grid__product-title {
    color: #666666;
    text-transform: uppercase;
    font-size: 1.2rem; }

.woocommerce-cart .main-content, .woocommerce-order-received .main-content {
  margin-top: -1rem;
  background-color: #ebebeb;
  padding: 1rem; }

.woocommerce-cart .place-order-form:not(.payment-enabled), .woocommerce-order-received .place-order-form:not(.payment-enabled) {
  margin: -1rem;
  margin-top: 1rem;
  background-color: #fefefe;
  padding: 1.5rem 1.2rem; }
  .woocommerce-cart .place-order-form:not(.payment-enabled) .mdc-button, .woocommerce-cart .place-order-form:not(.payment-enabled) .button, .woocommerce-cart .place-order-form:not(.payment-enabled) .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-cart .place-order-form:not(.payment-enabled) input[type="button"], .woocommerce-cart .place-order-form:not(.payment-enabled) .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-cart .place-order-form:not(.payment-enabled) .ood-wp-add-repeater-item, .woocommerce-order-received .place-order-form:not(.payment-enabled) .mdc-button, .woocommerce-order-received .place-order-form:not(.payment-enabled) .button, .woocommerce-order-received .place-order-form:not(.payment-enabled) .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-order-received .place-order-form:not(.payment-enabled) input[type="button"], .woocommerce-order-received .place-order-form:not(.payment-enabled) .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-order-received .place-order-form:not(.payment-enabled) .ood-wp-add-repeater-item {
    margin-bottom: 0.25rem; }

.woocommerce-cart .form-sections-header, .woocommerce-order-received .form-sections-header {
  background-color: var(--theme-medium);
  padding: 1rem;
  margin: 1rem -1rem; }
  .woocommerce-cart .form-sections-header h2, .woocommerce-cart .form-sections-header h3, .woocommerce-cart .form-sections-header h4, .woocommerce-order-received .form-sections-header h2, .woocommerce-order-received .form-sections-header h3, .woocommerce-order-received .form-sections-header h4 {
    text-transform: uppercase;
    color: white;
    margin-bottom: 0;
    font-size: 1.2rem; }
  @media print, screen and (min-width: 40em) {
    .woocommerce-cart .form-sections-header h2, .woocommerce-cart .form-sections-header h3, .woocommerce-cart .form-sections-header h4, .woocommerce-order-received .form-sections-header h2, .woocommerce-order-received .form-sections-header h3, .woocommerce-order-received .form-sections-header h4 {
      font-size: 1.5rem; } }

.woocommerce-cart .current-shipping-type, .woocommerce-order-received .current-shipping-type {
  color: #666666;
  font-size: 1rem;
  text-transform: none;
  font-weight: 600; }

.woocommerce-cart .remove img, .woocommerce-order-received .remove img {
  height: 1.25rem;
  margin-top: -2px; }

.woocommerce-cart .remove svg, .woocommerce-order-received .remove svg {
  height: 1.25rem;
  width: 1.5rem;
  margin-right: 0.5rem;
  fill: var(--theme-dark);
  margin-top: -2px;
  transition: fill 0.2s ease; }
  .woocommerce-cart .remove svg *, .woocommerce-order-received .remove svg * {
    fill: inherit !important; }

.woocommerce-cart .remove:hover svg, .woocommerce-order-received .remove:hover svg {
  fill: var(--theme-medium); }

.woocommerce-cart .expedited-shipping, .woocommerce-order-received .expedited-shipping {
  border: none !important; }
  .woocommerce-cart .expedited-shipping img, .woocommerce-cart .expedited-shipping svg, .woocommerce-order-received .expedited-shipping img, .woocommerce-order-received .expedited-shipping svg {
    fill: var(--theme-dark);
    height: 1rem;
    width: 1rem; }

.woocommerce-cart .cart-header, .woocommerce-order-received .cart-header {
  background-color: var(--theme-medium);
  padding: 1rem 0; }
  .woocommerce-cart .cart-header .cell, .woocommerce-order-received .cart-header .cell {
    padding: 0 0.5rem; }
  .woocommerce-cart .cart-header h4, .woocommerce-order-received .cart-header h4 {
    color: white;
    font-size: 1rem;
    margin-bottom: 0; }

.woocommerce-cart .cart-row, .woocommerce-order-received .cart-row {
  padding: 1rem 0; }
  .woocommerce-cart .cart-row .cell, .woocommerce-order-received .cart-row .cell {
    padding: 0 0.5rem; }
  .woocommerce-cart .cart-row dl, .woocommerce-order-received .cart-row dl {
    margin-bottom: 0;
    line-height: 1.2; }
    .woocommerce-cart .cart-row dl dt, .woocommerce-order-received .cart-row dl dt {
      margin-bottom: 0; }
    .woocommerce-cart .cart-row dl dd, .woocommerce-order-received .cart-row dl dd {
      margin-bottom: 0.5rem; }
      .woocommerce-cart .cart-row dl dd a, .woocommerce-order-received .cart-row dl dd a {
        color: #333;
        text-decoration: underline; }
        .woocommerce-cart .cart-row dl dd a i, .woocommerce-order-received .cart-row dl dd a i {
          text-decoration: none;
          padding-left: 0.2rem; }
        .woocommerce-cart .cart-row dl dd a:hover, .woocommerce-order-received .cart-row dl dd a:hover {
          color: #929292; }
  .woocommerce-cart .cart-row h5, .woocommerce-order-received .cart-row h5 {
    font-size: 1.1rem;
    text-transform: none; }
  .woocommerce-cart .cart-row .art-file-link, .woocommerce-order-received .cart-row .art-file-link {
    text-transform: capitalize; }
  @media screen and (max-width: 39.9375em) {
    .woocommerce-cart .cart-row .mdc-button, .woocommerce-cart .cart-row .button, .woocommerce-cart .cart-row .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-cart .cart-row input[type="button"], .woocommerce-cart .cart-row .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-cart .cart-row .ood-wp-add-repeater-item, .woocommerce-cart .cart-row .job-details-section, .woocommerce-cart .cart-row .dimensions-section, .woocommerce-order-received .cart-row .mdc-button, .woocommerce-order-received .cart-row .button, .woocommerce-order-received .cart-row .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-order-received .cart-row input[type="button"], .woocommerce-order-received .cart-row .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-order-received .cart-row .ood-wp-add-repeater-item, .woocommerce-order-received .cart-row .job-details-section, .woocommerce-order-received .cart-row .dimensions-section {
      margin-bottom: 0.5rem; } }

.woocommerce-cart .cart, .woocommerce-cart .checkout-form.shipping, .woocommerce-cart .confirmation-container > section, .woocommerce-order-received .cart, .woocommerce-order-received .checkout-form.shipping, .woocommerce-order-received .confirmation-container > section {
  padding: 1rem;
  background-color: #fefefe;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  margin-bottom: 1rem; }
  .woocommerce-cart .cart .form-section-header, .woocommerce-cart .checkout-form.shipping .form-section-header, .woocommerce-cart .confirmation-container > section .form-section-header, .woocommerce-order-received .cart .form-section-header, .woocommerce-order-received .checkout-form.shipping .form-section-header, .woocommerce-order-received .confirmation-container > section .form-section-header {
    text-transform: none; }

.woocommerce-cart .cart-container, .woocommerce-order-received .cart-container {
  --theme-medium: var(--theme-light);
  --theme-dark: var(--theme-medium); }
  .woocommerce-cart .cart-container > .form-sections-header, .woocommerce-order-received .cart-container > .form-sections-header {
    margin-top: -1rem; }

@media screen and (max-width: 39.9375em) {
  .woocommerce-cart .checkout-buttons .mdc-button, .woocommerce-cart .checkout-buttons .button, .woocommerce-cart .checkout-buttons .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-cart .checkout-buttons input[type="button"], .woocommerce-cart .checkout-buttons .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-cart .checkout-buttons .ood-wp-add-repeater-item, .woocommerce-order-received .checkout-buttons .mdc-button, .woocommerce-order-received .checkout-buttons .button, .woocommerce-order-received .checkout-buttons .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-order-received .checkout-buttons input[type="button"], .woocommerce-order-received .checkout-buttons .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-order-received .checkout-buttons .ood-wp-add-repeater-item {
    width: 100%;
    margin: 0.3rem 0; } }

@media screen and (max-width: 39.9375em) {
  .woocommerce-cart .review-shipping-header .mdc-button, .woocommerce-cart .review-shipping-header .button, .woocommerce-cart .review-shipping-header .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-cart .review-shipping-header input[type="button"], .woocommerce-cart .review-shipping-header .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-cart .review-shipping-header .ood-wp-add-repeater-item, .woocommerce-order-received .review-shipping-header .mdc-button, .woocommerce-order-received .review-shipping-header .button, .woocommerce-order-received .review-shipping-header .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-order-received .review-shipping-header input[type="button"], .woocommerce-order-received .review-shipping-header .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-order-received .review-shipping-header .ood-wp-add-repeater-item {
    width: 100%;
    margin: 0.3rem 0; } }

.woocommerce-cart .ship-modal-form .save-shipment-button, .woocommerce-order-received .ship-modal-form .save-shipment-button {
  font-size: 1rem;
  margin-bottom: 5px;
  height: 40px;
  padding: 0 1.8rem;
  padding-top: 3px; }

.woocommerce-cart .open-split-shipment, .woocommerce-order-received .open-split-shipment {
  cursor: pointer;
  transition: color 0.2s ease; }
  .woocommerce-cart .open-split-shipment:hover, .woocommerce-order-received .open-split-shipment:hover {
    color: #929292; }

.woocommerce-cart .woocommerce-checkout-review-order-table thead, .woocommerce-order-received .woocommerce-checkout-review-order-table thead {
  display: none; }

.woocommerce-cart .woocommerce-checkout-review-order-table th, .woocommerce-cart .woocommerce-checkout-review-order-table td, .woocommerce-order-received .woocommerce-checkout-review-order-table th, .woocommerce-order-received .woocommerce-checkout-review-order-table td {
  padding: 1rem 0; }

.woocommerce-cart .woocommerce-checkout-review-order-table .woocommerce-shipping-methods, .woocommerce-order-received .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
  margin-left: 0;
  list-style-type: none; }
  .woocommerce-cart .woocommerce-checkout-review-order-table .woocommerce-shipping-methods .shipping_method, .woocommerce-order-received .woocommerce-checkout-review-order-table .woocommerce-shipping-methods .shipping_method {
    margin-right: 0.25rem; }

.woocommerce-cart .woocommerce-checkout-review-order-table tfoot, .woocommerce-order-received .woocommerce-checkout-review-order-table tfoot {
  border: none;
  background-color: transparent; }

.woocommerce-cart .wc_payment_methods, .woocommerce-order-received .wc_payment_methods {
  margin-bottom: 1rem; }

.woocommerce-cart #wc-authnet-cc-form, .woocommerce-order-received #wc-authnet-cc-form {
  border: none;
  margin: 1rem -0.5rem;
  padding: 0; }

.woocommerce-cart .wc-card-number-field, .woocommerce-order-received .wc-card-number-field {
  margin: 0.5rem;
  width: calc(100% - 1rem); }

.woocommerce-cart .wc-card-expiry-field, .woocommerce-order-received .wc-card-expiry-field {
  margin: 0.5rem;
  width: calc(50% - 1rem); }

.woocommerce-cart .wc-card-code-field, .woocommerce-order-received .wc-card-code-field {
  margin: 0.5rem;
  width: calc(50% - 1rem); }

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation .mdc-button, .woocommerce-account .woocommerce-MyAccount-navigation .button, .woocommerce-account .woocommerce-MyAccount-navigation .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-account .woocommerce-MyAccount-navigation input[type="button"], .woocommerce-account .woocommerce-MyAccount-navigation .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-account .woocommerce-MyAccount-navigation .ood-wp-add-repeater-item {
    margin-bottom: 0.5rem;
    text-overflow: ellipsis;
    padding: 0.65rem 0.75rem; }
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active .mdc-button, .woocommerce-account .woocommerce-MyAccount-navigation .is-active .button, .woocommerce-account .woocommerce-MyAccount-navigation .is-active .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-account .woocommerce-MyAccount-navigation .is-active input[type="button"], .woocommerce-account .woocommerce-MyAccount-navigation .is-active .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-account .woocommerce-MyAccount-navigation .is-active .ood-wp-add-repeater-item {
    background-color: var(--theme-medium) !important;
    color: #fefefe !important; }

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto; }

.woocommerce-account .ood-users-addresses--form {
  display: inline-block; }

.area-container {
  line-height: 1.1; }

.square-feet-container {
  border: 1px solid #929292;
  border-radius: 0.5rem;
  text-align: center;
  text-transform: uppercase;
  padding: 2rem 1rem;
  width: 100%; }
  .square-feet-container .square-feet-label {
    font-size: 1rem;
    font-weight: bold; }

.woocommerce-order-overview {
  list-style-type: none; }
  .woocommerce-order-overview h2 {
    text-transform: uppercase;
    font-size: 1.5rem;
    color: var(--theme-medium); }
  .woocommerce-order-overview li {
    display: block;
    margin-bottom: 0.5rem; }
    .woocommerce-order-overview li br {
      display: none; }
    @media print, screen and (min-width: 40em) {
      .woocommerce-order-overview li {
        padding-right: 1rem;
        padding-left: 1rem;
        border-right: 1px solid #666666;
        display: inline-block; }
        .woocommerce-order-overview li br {
          display: block;
          line-height: 0.5rem; } }
  @media print, screen and (min-width: 40em) {
    .woocommerce-order-overview li:last-child {
      border-right: none;
      padding-right: 1rem; } }

.woocommerce-order-details h2 {
  text-transform: uppercase;
  font-size: 1.5rem;
  color: var(--theme-medium); }

.woocommerce-order-details .woocommerce-table--order-details .job-number, .woocommerce-order-details .woocommerce-table--order-details .item-name {
  font-size: 1.1rem; }

.info-tooltip {
  border-bottom: none;
  float: right; }
  .info-tooltip img, .info-tooltip svg {
    width: 18px;
    height: 18px;
    margin-right: 0.5rem; }

.refresh-tooltip, .delete-job {
  border-bottom: none;
  cursor: pointer;
  float: right; }
  .refresh-tooltip img, .refresh-tooltip svg, .delete-job img, .delete-job svg {
    fill: var(--theme-medium);
    width: 18px;
    height: 18px;
    margin-right: 0.5rem; }

.order-item.loading .refresh-tooltip {
  pointer-events: none; }
  .order-item.loading .refresh-tooltip img, .order-item.loading .refresh-tooltip svg {
    fill: #929292;
    -webkit-animation: spin 2s infinite linear;
            animation: spin 2s infinite linear; }

.tracking-number-link {
  border-bottom: none;
  cursor: pointer !important; }
  .tracking-number-link i {
    cursor: inherit; }

.woocommerce-customer-details h2 {
  text-transform: uppercase;
  font-size: 1.5rem;
  color: var(--theme-medium); }

.woocommerce-shipping-addresses .grid-x {
  margin: 0; }

.woocommerce-shipping-addresses h2 {
  text-transform: uppercase;
  font-size: 1.5rem;
  color: var(--theme-medium); }

.woocommerce-shipping-addresses .order-shipping-header {
  text-transform: uppercase;
  margin-bottom: -0.5rem;
  color: var(--theme-medium);
  border-bottom: 1px solid var(--theme-medium); }

.shipments .shipment .remove-shipment {
  float: right;
  height: 1.5rem;
  width: 1.5rem;
  cursor: pointer; }
  .shipments .shipment .remove-shipment:hover svg {
    fill: var(--theme-dark); }

#manageShipping .shipment-buttons .add-shipment, .splitShipmentModal .shipment-buttons .add-shipment {
  pointer-events: auto;
  height: 35px;
  border-bottom: 1px solid;
  margin: 0; }

#manageShipping .shipment-buttons .confirm-shipments, .splitShipmentModal .shipment-buttons .confirm-shipments {
  pointer-events: auto;
  border-bottom-style: solid;
  margin-bottom: 5px; }

#manageShipping .save-shipment-button, .splitShipmentModal .save-shipment-button {
  pointer-events: auto; }

.woocommerce-error .woocommerce-error-message {
  border: 1px solid #ebebeb;
  padding: 0.5rem 0;
  padding-left: 1rem;
  border-left: 5px solid var(--theme-dark);
  margin-bottom: 1rem; }

form.payment.checkout-form {
  padding: 1rem;
  background-color: #fefefe;
  box-shadow: 0 4px 7px 0 #929292; }

.wc_payment_methods {
  margin: 0;
  list-style: none; }
  .wc_payment_methods [for="payment_method_transax"] {
    display: none; }
  .wc_payment_methods fieldset {
    border: none;
    margin: 0;
    padding: 0; }

.cart-shipping-form {
  padding: 2rem; }
  .cart-shipping-form h3 {
    display: none; }
  .cart-shipping-form p {
    border-bottom: 1px solid #d41296;
    border-radius: 4px 4px 0 0; }
    .cart-shipping-form p label {
      padding: .2rem 1rem;
      color: rgba(0, 0, 0, 0.87); }
      .cart-shipping-form p label abbr {
        border-bottom: none; }
    .cart-shipping-form p .show-password-input {
      margin-top: -0.4rem; }
      .cart-shipping-form p .show-password-input:after {
        content: '\f023';
        font-family: 'Font Awesome 5 Pro';
        color: #d41296;
        font-weight: 600; }
    .cart-shipping-form p span input, .cart-shipping-form p span textarea, .cart-shipping-form p span select {
      background: none;
      border: none;
      padding: .5rem 1rem; }
      .cart-shipping-form p span input:focus, .cart-shipping-form p span textarea:focus, .cart-shipping-form p span select:focus {
        border: none;
        box-shadow: none; }

.cart-shipping-form {
  border-bottom: none; }
  .cart-shipping-form input[type="checkbox"] {
    font-size: 1rem;
    margin: 0 0.5rem 0 0;
    cursor: pointer;
    line-height: 0; }
    .cart-shipping-form input[type="checkbox"]:before {
      content: '\f00c';
      font-family: Font Awesome\ 5 Pro;
      display: inline-block;
      color: transparent;
      background-color: #fefefe;
      box-shadow: 0 0 0 1px #929292;
      border: 0.2px solid #333;
      border-radius: 1px;
      width: 0.9rem;
      height: 0.9rem;
      vertical-align: 10%;
      margin-right: 0.5rem;
      line-height: 0.9;
      text-indent: -0.075rem;
      font-size: 0.8rem;
      transition: color 0.25s ease; }
  .cart-shipping-form input[type="checkbox"]:hover:before {
    background-color: #fde8f6; }
  .cart-shipping-form input[type="checkbox"]:checked:before {
    color: #fefefe;
    background-color: #d41296 !important;
    border-color: #d41296; }

.create-account {
  border-bottom: none !important; }
  .create-account input[type="checkbox"] {
    font-size: 1rem;
    margin: 0 0.5rem 0 0;
    cursor: pointer;
    line-height: 0; }
    .create-account input[type="checkbox"]:before {
      content: '\f00c';
      font-family: Font Awesome\ 5 Pro;
      display: inline-block;
      color: transparent;
      background-color: #fefefe;
      box-shadow: 0 0 0 1px #929292;
      border: 0.2px solid #333;
      border-radius: 1px;
      width: 0.9rem;
      height: 0.9rem;
      vertical-align: 10%;
      margin-right: 0.5rem;
      line-height: 0.9;
      text-indent: -0.075rem;
      font-size: 0.8rem;
      transition: color 0.25s ease; }
  .create-account input[type="checkbox"]:hover:before {
    background-color: #fde8f6; }
  .create-account input[type="checkbox"]:checked:before {
    color: #fefefe;
    background-color: #d41296 !important;
    border-color: #d41296; }

.shipping_address {
  display: contents !important; }

#ship-to-different-address {
  display: none; }

.woocommerce-address-fields abbr {
  border-bottom: none; }

.woocommerce-address-fields button[type='submit'] {
  padding: 0.75rem !important;
  color: #d41296 !important;
  height: 3rem;
  margin-right: 0 !important; }

.woocommerce-address-fields input[type='text'], .woocommerce-address-fields input[type='tel'], .woocommerce-address-fields input[type='email'] {
  border: none;
  background-color: #ebebeb;
  height: 3rem;
  box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.2);
  padding: 0.5rem; }

.woocommerce-address-fields .select2-container--default .select2-selection--single {
  border-radius: 0;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
  height: 3rem;
  border: none;
  padding: 0.75rem; }
  .woocommerce-address-fields .select2-container--default .select2-selection--single b {
    margin: 0.5rem 0 0.5rem -1rem; }

.page-template-missing-jobs .epms-template-select {
  min-width: 200px; }
  .page-template-missing-jobs .epms-template-select .dropdown input ~ .text {
    line-height: 1.2rem !important; }

.page-template-missing-jobs .epms-job-number-field-wrapper {
  width: 200px; }

.page-template-missing-jobs .order-item.loading {
  pointer-events: none;
  opacity: 0.5; }

.product-post {
  background-color: #e5f7fd;
  overflow-y: hidden;
  overflow-x: hidden; }
  .product-post .product-content-container {
    margin: 3rem 2rem;
    padding-right: 2rem; }
    @media screen and (min-width: 75em) {
      .product-post .product-content-container {
        width: 40%; } }
    @media screen and (min-width: 125em) {
      .product-post .product-content-container {
        width: 70%; } }
  .product-post .product-image-container {
    overflow-x: hidden;
    overflow-y: hidden; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .product-post .product-image-container {
        max-height: 20rem; } }
    @media screen and (min-width: 64em) {
      .product-post .product-image-container {
        position: absolute;
        right: 0;
        top: 0; }
        .product-post .product-image-container img {
          -webkit-clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 100%);
                  clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 100%); } }
    @media screen and (min-width: 75em) {
      .product-post .product-image-container {
        -webkit-transform: scale(1.25);
            -ms-transform: scale(1.25);
                transform: scale(1.25); }
        .product-post .product-image-container img {
          margin-top: -10rem;
          -webkit-transform: scale(1.25);
              -ms-transform: scale(1.25);
                  transform: scale(1.25); } }
    @media screen and (min-width: 125em) {
      .product-post .product-image-container {
        -webkit-transform: scale(1.25);
            -ms-transform: scale(1.25);
                transform: scale(1.25); }
        .product-post .product-image-container img {
          -webkit-transform: scale(1.25);
              -ms-transform: scale(1.25);
                  transform: scale(1.25); } }
  @media screen and (min-width: 64em) {
    .product-post {
      position: relative; } }

@media screen and (min-width: 40em) {
  .actions-nav {
    margin-left: 2rem; } }

.actions-nav a {
  font-weight: 400;
  color: #000000 !important;
  padding: 0 !important;
  font-size: 1rem;
  margin-bottom: 0.25rem; }
  .actions-nav a:hover {
    color: #d41296 !important;
    transition: color 0.2s ease; }
  .actions-nav a::before {
    background-color: transparent !important; }
  .actions-nav a:focus {
    background-color: transparent; }

.actions-nav .actions-nav-links a {
  color: #d41296 !important; }
  .actions-nav .actions-nav-links a:hover {
    text-decoration: underline; }

.actions-nav button {
  font-weight: 400;
  color: #000000 !important;
  display: block;
  padding: 0 !important;
  font-size: 1rem; }
  .actions-nav button:hover {
    color: #d41296 !important;
    transition: color 0.2s ease; }
  .actions-nav button::before {
    background-color: transparent; }
  .actions-nav button:focus {
    background-color: transparent; }

.facetwp-template tbody {
  box-shadow: inset 0 0px 7px rgba(0, 0, 0, 0.3); }
  .facetwp-template tbody .even {
    box-shadow: inset -3px 0px 1px rgba(0, 0, 0, 0.1); }

.facetwp-template thead tr {
  background: #666666; }
  .facetwp-template thead tr th {
    color: #ffffff;
    text-transform: uppercase; }

.facetwp-template tr {
  height: 3rem; }

.jobs-filters-container h3 {
  margin-left: 1rem; }
  @media screen and (min-width: 40em) {
    .jobs-filters-container h3 {
      margin: 1rem 0 0.5rem 1rem; } }

@media screen and (max-width: 63.9375em) {
  .jobs-filters-container {
    display: block; } }

.ood-edit-user-form [type="submit"] {
  color: #d41296 !important;
  transition: background-color 0.2s ease; }
  .ood-edit-user-form [type="submit"]:hover {
    background-color: rgba(212, 18, 150, 0.1) !important; }

.ood-new-user-form h2 {
  display: none; }

.proof-filters {
  padding: 0; }
  @media screen and (max-width: 63.9375em) {
    .proof-filters {
      text-align: left !important; } }
  .proof-filters button {
    border: none !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
    width: 12rem !important;
    height: 3rem !important;
    color: #000000 !important;
    text-transform: capitalize !important;
    font-size: 1rem;
    font-weight: 400 !important;
    font-family: 'Karla';
    padding: 0.75rem 5.5rem 0.75rem 0.75rem !important;
    line-height: 1.5;
    background-image: url("../images/undo-arrow.png");
    background-position: right 1rem center;
    background-repeat: no-repeat;
    cursor: pointer;
    margin-right: 0 !important; }
    .proof-filters button:hover {
      background-color: #ebebeb !important; }
    @media screen and (min-width: 64em) {
      .proof-filters button {
        margin-left: 1rem; } }
  .proof-filters .facetwp-type-dropdown .selection {
    background-color: #ffffff !important;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
    height: 3rem;
    width: 12rem;
    color: #000000; }
  .proof-filters .filter {
    border-left: none;
    padding-right: 0; }
    @media screen and (min-width: 40em) {
      .proof-filters .filter {
        margin: 0.5rem 0; } }
  .proof-filters .fs-wrap {
    background-color: #fefefe !important;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
    height: 3rem;
    width: 12rem; }
  .proof-filters i {
    color: #d41296 !important; }

.responsive-table a {
  margin-bottom: 0 !important; }
  .responsive-table a:hover {
    color: #d41296;
    background-color: transparent !important;
    text-decoration: underline; }

.responsive-table .sorting_disabled {
  color: #fefefe;
  text-transform: uppercase; }

.version-form button {
  margin-right: 1rem !important; }

.woocommerce-account h3 {
  font-weight: bold;
  color: #666666; }

.woocommerce-account .proof-filters {
  text-align: right; }

.woocommerce-account .woocommerce-MyAccount-navigation .mdc-button, .woocommerce-account .woocommerce-MyAccount-navigation .button, .woocommerce-account .woocommerce-MyAccount-navigation .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-account .woocommerce-MyAccount-navigation input[type="button"], .woocommerce-account .woocommerce-MyAccount-navigation .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-account .woocommerce-MyAccount-navigation .ood-wp-add-repeater-item {
  text-transform: initial;
  font-weight: 400;
  background-color: transparent !important;
  padding: 0;
  font-family: 'Karla';
  font-size: 1rem !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation .mdc-button:hover, .woocommerce-account .woocommerce-MyAccount-navigation .button:hover, .woocommerce-account .woocommerce-MyAccount-navigation .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .woocommerce-account .woocommerce-MyAccount-navigation input:hover[type="button"], .woocommerce-account .woocommerce-MyAccount-navigation .version-form .ood-wp-add-repeater-item:hover, .version-form .woocommerce-account .woocommerce-MyAccount-navigation .ood-wp-add-repeater-item:hover {
    color: #d41296 !important;
    transition: color 0.2s ease; }

.woocommerce-account .woocommerce-MyAccount-navigation .is-active .mdc-button, .woocommerce-account .woocommerce-MyAccount-navigation .is-active .button, .woocommerce-account .woocommerce-MyAccount-navigation .is-active .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-account .woocommerce-MyAccount-navigation .is-active input[type="button"], .woocommerce-account .woocommerce-MyAccount-navigation .is-active .version-form .ood-wp-add-repeater-item, .version-form .woocommerce-account .woocommerce-MyAccount-navigation .is-active .ood-wp-add-repeater-item {
  background-color: transparent !important;
  text-decoration: underline;
  color: #d41296 !important; }

.woocommerce-MyAccount-content button {
  display: block;
  color: #000000 !important;
  font-weight: 400;
  padding: 0 !important;
  font-size: 1rem !important; }
  .woocommerce-MyAccount-content button:hover {
    color: #d41296 !important;
    transition: color 0.2s ease;
    background-color: transparent !important; }

.woocommerce-MyAccount-content .button, .woocommerce-MyAccount-content .file_div_clean.wfu_container input[type="button"], .file_div_clean.wfu_container .woocommerce-MyAccount-content input[type="button"] {
  color: #000000 !important;
  font-weight: 400;
  padding: 0 !important;
  font-size: 1rem !important; }
  .woocommerce-MyAccount-content .button:hover, .woocommerce-MyAccount-content .file_div_clean.wfu_container input:hover[type="button"], .file_div_clean.wfu_container .woocommerce-MyAccount-content input:hover[type="button"] {
    color: #d41296 !important;
    transition: color 0.2s ease;
    background-color: transparent !important; }

#search-results a:hover {
  color: rgba(212, 18, 150, 0.5);
  transition: color 0.2s ease; }

#search-results .page-content {
  margin-left: 3rem; }
  #search-results .page-content .search-form {
    display: inline-block;
    border-bottom: 1px solid #d41296;
    padding-bottom: 0.5rem !important; }
    #search-results .page-content .search-form button {
      border: none !important;
      color: #d41296 !important;
      font-size: 1.3rem;
      margin-top: 0 !important; }
      #search-results .page-content .search-form button::after {
        visibility: hidden; }
    #search-results .page-content .search-form input {
      border: none;
      margin-right: 0.5rem; }
      #search-results .page-content .search-form input::-webkit-input-placeholder {
        text-transform: lowercase !important; }
      #search-results .page-content .search-form input:-ms-input-placeholder {
        text-transform: lowercase !important; }
      #search-results .page-content .search-form input::placeholder {
        text-transform: lowercase !important; }

#search-results .page-title {
  margin-left: 3rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIl9tZGMtc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZm9ybS1maWVsZC9tZGMtZm9ybS1maWVsZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdHlwb2dyYXBoeS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3R5cG9ncmFwaHkvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90aGVtZS9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RoZW1lL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19rZXlmcmFtZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvYW5pbWF0aW9uL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL2NvbW1vbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yYWRpby9tZGMtcmFkaW8uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmFkaW8vX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yYWRpby9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JpcHBsZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2J1dHRvbi9tZGMtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2J1dHRvbi9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2J1dHRvbi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2hhcGUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ydGwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9lbGV2YXRpb24vX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9lbGV2YXRpb24vX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9mbG9hdGluZy1sYWJlbC9tZGMtZmxvYXRpbmctbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lLXJpcHBsZS9tZGMtbGluZS1yaXBwbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21kYy1ub3RjaGVkLW91dGxpbmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL2hlbHBlci10ZXh0L21kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RleHRmaWVsZC9pY29uL21kYy10ZXh0LWZpZWxkLWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL21kYy10ZXh0LWZpZWxkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL2hlbHBlci10ZXh0L19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL2ljb24vX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90ZXh0ZmllbGQvaWNvbi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NoZWNrYm94L19rZXlmcmFtZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9tZGMtY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvX2tleWZyYW1lcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvaWNvbi9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9pY29uL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L2ljb24vbWRjLXNlbGVjdC1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9oZWxwZXItdGV4dC9tZGMtc2VsZWN0LWhlbHBlci10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9tZGMtc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9oZWxwZXItdGV4dC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2xpc3QvbWRjLWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGlzdC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2xpc3QvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51LXN1cmZhY2UvbWRjLW1lbnUtc3VyZmFjZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51LXN1cmZhY2UvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51L21kYy1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL21lbnUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lYXItcHJvZ3Jlc3MvX2tleWZyYW1lcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lYXItcHJvZ3Jlc3MvbWRjLWxpbmVhci1wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lYXItcHJvZ3Jlc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lYXItcHJvZ3Jlc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kaWFsb2cvZGlzdC9tZGMuZGlhbG9nLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL192YXJzLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fZWRpdG9yLXN0eWxlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlcnMuc2NzcyIsImNvbXBvbmVudHMvX2xpbmtzLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fbWVudXMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsImNvbXBvbmVudHMvX2ZsZXhpYmxlLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX21vZGFscy5zY3NzIiwidGVtcGxhdGVzL19mcm9udC5zY3NzIiwidGVtcGxhdGVzL19wcm9vZi5zY3NzIiwidGVtcGxhdGVzL19jcmVhdGUtYWNjb3VudC5zY3NzIiwidGVtcGxhdGVzL19sb2dpbi5zY3NzIiwidGVtcGxhdGVzL193b29jb21tZXJjZS5zY3NzIiwidGVtcGxhdGVzL19taXNzaW5nLWpvYnMuc2NzcyIsInRlbXBsYXRlcy9fc2luZ2xlLXByb2R1Y3RzLnNjc3MiLCJ0ZW1wbGF0ZXMvX215LWFjY291bnQuc2NzcyIsInRlbXBsYXRlcy9fc2VhcmNoLXJlc3VsdHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUM4Skc7RUN2SEo7SUFDRSxZQUFXO0lBQ1gsV0FBVTtJQUNWLGVBQWMsRUFDZixFQUFBOztBQ3JDSDtFQUNFLHlDQUFvQjtFQUNwQiwyQ0FBc0I7RUFDdEIsMkNBQXNCO0VBQ3RCLDZDQUF3QjtFQUN4Qiw2QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRTtJQUNFLDRCQUEwQixFQU8zQjtJQVJEO01BS00saUJBQWdCLEVBQ2pCLEVBQUE7O0FDR1A7RUNTSSxnQ0NkMkM7RURjM0MsbUNDVmdDO0VEVWhDLG9DQ1RpQztFRFNqQyxvQkMrRW9CO0VEL0VwQixxQkNnRnNCO0VEaEZ0QixpQkNIVTtF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QWE7RUFDYixrQkp6R2dEO0VJMEdoRCxhQUFhO0VBQ2Isa0JKM0dxRCxFRG5HcEQ7RW5Cb1dEOzs7OztJd0JuSkUsYUFBYTtJQUNiLGlCSi9HbUQ7SUlnSG5ELGFBQWE7SUFDYixtQkpqSDhDLEVJMUU3Qzs7QUx0Qkw7O0VDd0JFLHVCQzFENEMsRUZ3QzdDO0VBTkQ7O0lDK0dJLHNDVmhJaUY7SVVpSWpGLDJCVmpJaUYsRVVrSWxGO0VEakhIOztJVk1NLDBCQ2xDcUIsRVVxQnhCO0lYa0J5QztNVVg1Qzs7UVZjYyxnQkFBZ0I7UUFDaEIsb0RBQTRELEVBQzdELEVBQUE7RVVoQmI7O0lWTU0sWUNqQ3FGO0lEaURuRixnQkFBZ0I7SUFDaEIseUNBQTRELEVXWmpFO0VMb0JEOzs7SU56QkksdUJDakNxRixFS21FeEY7SU43QnlDO01Nb0IxQzs7O1FOakJZLGdCQUFnQjtRQUNoQixvREFBNEQsRUFDN0QsRUFBQTtFTTZCWDs7SUFDRSxjR3BFUSxFSHFFVDtFQWVEOzs7SUFHRSwwQkFBeUI7SUFDekIsY0d2RlEsRUh3RlQ7RUFRQzs7SUFDRSxpQ0FBd0QsRUFDekQ7RUFFRDs7SUFDRSwwQkdwSDRCO0lIcUg1QixjR3JHTSxFSHNHUDtFQUdIOztJQUNFLDhCQUF3QixFQUN6Qjs7QUkvRUg7RU1sQkUsMEhDeEJrQztFTnlKbEMsMERLOUcwRCxFTkMzRDtFQUZEO0lNbEJFLDJIQ3hCa0MsRU44SmpDO0VEcEhIO0lNbEJFLDRIQ3hCa0MsRU5rS2pDO0VEeEhIO0lNbEJFLHlIQ3hCa0MsRU5zS2pDOztBRHhISDtFQ3dGRSxvQkFBbUI7RUE1RW5CLHVCQUs2QztFQUk3QyxrQkRuQnFDLEVBRXRDO0VBSkQ7SUMyRkksa0NWeEhpRixFVXlIbEY7RUQ1Rkg7SVZOTSxzQkNsQ3FCO0lEa0RuQixnQkFBZ0I7SUFDaEIsZ0RBQTRELEVXeEJqRTs7QURtQkg7RUNzSEUsYUN6SzRCO0VEMEs1QixvQkFBbUIsRURySHBCOztBUTVDQztFckJJRSxnQ0NkMkM7RURjM0MsbUNDVmdDO0VEVWhDLG9DQ1RpQztFRFNqQyxnQkN1RGlC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RTtFSHJlSDtJekJOTSx5Q0NPK0UsRTJCa2RsRjtFSG5kSDtJekJOTSwwQkNPK0UsRTRCQWxGO0VKREg7SXpCTk0sMkJDTytFLEU2QmdDbEY7RUxqQ0g7SXpCTk0sNkIyQkk4RixFQ29Cakc7RUhsQkg7SVYwTkUsYUFBYTtJQUNiLFdZNU1nQztJWjZNaEMsYUFBYTtJQUNiLGVBNUNxQjtJYWdCbkIsVUFBUztJQUNULHFCQUFvQixFQUNyQjtJckNraEJDO013QnJmQSxhQUFhO01BQ2IsY0FoRG1CO01BaURuQixhQUFhO01BQ2IsWVlwTjhCLEVaeUI3QjtFYTZKRjtJYnFCRCxhQUFhO0lBQ2IsVU90TytCO0lQdU8vQixhQUFhO0lBQ2IsZUE1Q3FCLEVhdUJsQjtJckN1aEJEO013Qi9mQSxhQUFhO01BQ2IsY0FoRG1CO01BaURuQixhQUFhO01BQ2IsV085TzZCLEVQbUQ1QjtFYW1LRjtJYmVELGFBQWE7SUFDYixVT3RPK0I7SVB1Ty9CLGFBQWE7SUFDYixlQTVDcUI7SWE4QmpCLFVBQVMsRUFDVjtJckMwaEJEO013QjFnQkEsYUFBYTtNQUNiLGNBaERtQjtNQWlEbkIsYUFBYTtNQUNiLFdPOU82QixFUG1ENUI7RWEwS0E7SWJRSCxhQUFhO0lBQ2IsV2FQbUg7SWJRbkgsYUFBYTtJQUNiLGVBNUNxQixFYXdDaEI7SXJDMmhCSDtNd0JwaEJBLGFBQWE7TUFDYixjQWhEbUI7TUFpRG5CLGFBQWE7TUFDYixZYWZpSCxFYjVLaEg7SWEwS0E7TWJRSCxhQUFhO01BQ2IsV2FKb0o7TWJLcEosYUFBYTtNQUNiLGVBNUNxQixFYXVDZDtNckNzaUJIO1F3QjloQkYsYUFBYTtRQUNiLGNBaERtQjtRQWlEbkIsYUFBYTtRQUNiLFlhWmtKLEViL0tqSjs7QVVOTDtFNUJwQ0ksZ0NDZDJDO0VEYzNDLG1DQ1ZnQztFRFVoQyxvQ0NUaUM7RURTakMsZ0JDdURpQjtFRHZEakIscUJDd0RzQjtFRHhEdEIsaUJDSFU7RURHViwwQkVvQ3lDO0VGcEN6Qyx5QkMyRDBCO0VEM0QxQix3QkM0RHlCO0UyQnJCM0IsNkJBQW9CO01BQXBC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O0FINVREO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixrQkFBaUIsRUFDbEI7O0FBU0g7RUFDRSwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QUFHRDtFekJ2TE0sOEJDSnFCLEUyQnFmeEI7O0FIMVRIO0V6QnZMTSw4QkNKcUIsRTJCMGZ4Qjs7QUgvVEg7RXpCdkxNLDhCQ0pxQixFMkIwZnhCOztBSC9USDtFekJ2TE0sOEJDSnFCLEUyQjBmeEI7O0FIL1RIOztFekJ6Sk0sZUNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEU0QjRIL0Q7O0FIWUw7RUd0Q0ksV0FBVSxFQUNYOztBSHlDSDs7O0V6QjdKTSxzQkNsQ3FCO0VEa0RuQixnQkFBZ0I7RUFDaEIsZ0RBQTRELEUrQmpEakU7O0FOaU1IO0V6QmpLTSw2QkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIscURBQTRELEU0QmdiakU7O0FIaFNIO0V6QmpLTSw2QkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIscURBQTRELEU0QnNiakU7O0FIdFNIO0V6QmpLTSwwQkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsa0RBQTRELEU0QjRiakU7O0FINVNIO0V6QmpLTSxlQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQix1Q0FBNEQsRTRCa2NqRTs7QUhsVEg7RXpCaktNLGVDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFNEJ1Y2pFOztBSHZUSDtFekJqS00sZUNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEU0QnVjakU7O0FIdlRIO0V6QmpLTSxlQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQix1Q0FBNEQsRTRCdWNqRTs7QUh2VEg7RXpCaktNLGVDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFNkJsQ2pFOztBSmtMSDtFekJqS00scUJDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLDZDQUE0RCxFNEIyQ2pFOztBSHFHSDtFekJqS00sZUNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEU4QlJqRTs7QUx3Skg7RXpCaktNLGVDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFOEJaN0Q7O0FMNEpQO0VHMURJLFdBQVUsRUFDWDs7QUg2REg7Ozs7O0V6QnJLTSxzQkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsOENBQTRELEUrQmpEakU7O0FOcU1IOzs7Ozs7Ozs7OztFekJyS00sc0JDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFK0JqRGpFOztBTnFNSDs7Ozs7RXpCcktNLHNCQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQiw4Q0FBNEQsRStCakRqRTs7QU55TUg7Ozs7O0V6QnpLTSxzQkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsOENBQTRELEUrQmpEakU7O0FOeU1IOzs7Ozs7Ozs7OztFekJ6S00sc0JDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLDhDQUE0RCxFK0JqRGpFOztBTnlNSDs7Ozs7RXpCektNLHNCQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQiw4Q0FBNEQsRStCakRqRTs7QUhrRUE7RTVCaEVHLDBCMkJLdUc7RUNxRzNHLG9CQUFtQjtFQUNuQixxQkFBb0IsRUhrR3JCO0VBRkQ7SXpCM01NLHlDQ08rRSxFMkJ3ZGxGO0VIcFJIO0l6QjNNTSwyQkNPK0UsRTJCZ2NsRjtFSDVQSDtJekIzTU0sMkJDTytFLEUyQjBlbEY7RUh0U0g7SXpCM01NLDJCQ08rRSxFMkIrZWxGO0VIM1NIO0l6QjNNTSwyQkNPK0UsRTJCK2VsRjtFSDNTSDtJekIzTU0sMkJDTytFLEUyQitlbEY7RUgzU0g7SXpCM01NLDJCQ08rRSxFNEJBbEY7RUpvTUg7SXpCM01NLDBCQ08rRSxFNkJnQ2xGO0VMb0tIO0l6QjNNTSx5Q0NPK0UsRTJCa2RsRjtFSDlRSDtJRzdGSSxnQkFBZSxFQUNoQjs7QUhnR0g7RXpCL01NLDhCNEJ3TzJDO0U1QnhPM0MsMEIyQmlCbUQsRUZnTXhEO0VB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QmlQM0IsYUFBYTtNQUNiLG9CNEJqUDJCLEU1QnNEMUI7RTJCc0JMO0lFNlFJLGtCQUFpQixFQUNsQjtFRjlRSDtJRWlSSSxXQUFVLEVBQ1g7RUZsUkg7SUVxUkkscUJBQW9CO0lBQ3BCLHFCQUFvQixFQUNyQjs7QUZuUkg7RTFDMUNNLGVDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLHVDQUE0RCxFNENOakU7O0FGK0JIOztFMUMxQ00sNkJDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLHFEQUE0RCxFNEN1RmpFOztBRjlESDtFMUMxQ00sMEJDckJtQjtFRHFDakIsZ0JBQWdCO0VBQ2hCLGtEQUE0RCxFNEN3RGpFOztBRi9CSDtFMUN4RU0sZUNTbUIsRTJDT3BCOztBRndETDtFMUMxQ00sZUNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsdUNBQTRELEU2Q25DakU7O0FINERIO0UxQzFDTSw2QkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIscURBQTRELEU0Q3hCakU7O0FiN0JEOzs7RS9Cb0NJLHNCQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQiw4Q0FBNEQsRStCakRqRTs7QUFKRDs7Ozs7O0UvQm9DSSxzQkNyQm1CO0VEcUNqQixnQkFBZ0I7RUFDaEIsOENBQTRELEUrQmpEakU7O0FBSUQ7OztFQUdFLGtCYXVHNkMsRWJ0RzlDOztBQUpEOzs7RS9CNEJJLHNCQ3JCbUI7RURxQ2pCLGdCQUFnQjtFQUNoQiw4Q0FBNEQsRStCakRqRTs7QVcwRUg7RUVnRkUsZ2ZBQXNnQixFRjlEcmdCOztBQWxCSDtFQXNCSSxXQUFVLEVBQ1g7O0FBR0g7RUFHSSxhQUFZLEVBQ2I7O0FKN0dBO0V0Q09HLDBCMkNjbUc7RUNvU3ZHLGdCQUFlO0VBQ2YscUJBQW9CLEVGeE1yQjtFQUZEO0kxQ3pHTSwyQkNPK0UsRTJDdVFsRjtFRnJLSDtJRStDRSxnZkFBc2dCLEVBMEhyZ0I7RUZ6S0g7SUU0S0ksY0FBYSxFQUNkO0VGN0tIO0kxQ3pHTSwyQkNPK0UsRTJDbVJsRjtFRmpMSDs7STFDekdNLDJCQ08rRTtJMkN5UmpGLDRCQUEy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Z0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQWRIO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRyxFQUFBO0V2RThDQztJdUU1REo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0V2RUxDO0l1RUFKO01DbklNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRUR3SS9CLEVBQUE7O0FBSUQ7RUM1SUksd0JBQTRCO0VBQTVCLHVCQUE0QixFRDhJL0I7RXZFWEM7SXVFU0Y7TUM1SUkseUJBQTRCO01BQTVCLHdCQUE0QixFRDhJL0IsRUFBQTs7QUFYSDtFQ25JTSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEbUovQjtFdkVoQkM7SXVFQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTs7QUt0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QTVFb0lHO0U0RXRJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QTVFb0lHO0U0RXRJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsaUNBRGdILEVDdERqSDs7QUFGRDtFRHlERSwyQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsaUNBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDZCQURnSCxFQ3REakg7O0E1RW9JRztFNEV0SUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBNUVvSUc7RTRFdElKO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpILEVBQUE7O0FMZ01HO0VNdk1FLGdCQUEwQjtFQUExQixlQUEwQixFTnlNM0I7RU10TUQ7SUFFSSxnQkFBMEI7SUFBMUIsZUFBMEIsRUFFN0I7RUFvQks7SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0M7RTdFOEdQO0k2RWhITTtNRm1DUixnQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFlBRG9ELEVFaEMzQyxFQUFBO0U3RThHUDtJNkVoSE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1Is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RG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QTdFdUhQO0U2RWhITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBN0U4R1A7RXVFa0VBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FONktEO0VPMU5GLGdCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsaUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixzQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHVDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBdkV0RkQ7RXVFZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsc0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQixF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LEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsa0NBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RXZFOENDO0l1RTVESjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDhCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDhCQURnSCxFSmdDL0csRUFBQTtFdkU4Q0M7SXVFNURKO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLGtDQURnSCxFSmdDL0c7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SUk3QkEsNkJBRGdILEVKZ0MvRztFdkU4Q0M7SXVFNURKO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsOEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsOEJBRGdILEVKZ0MvRyxFQUFBO0V2RThDQztJdUU1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HLEVBQUE7O0FBeVNEO0VRM1hJLDhCQUFtQyxFUjZYdEM7RXZFN1BDO0l1RTJQRjtNUTNYSSwrQkFBbUMsRVI2WHRDLEVBQUE7RXZFN1BDO0l1RTJQRjtNUTNYSSwrQkFBbUMsRVI2WHRDLEVBQUE7O0F2RTdQQztFdUUrUEE7SVEvWEUsK0JBQW1DLEVSaVlwQyxFQUFBOztBdkVqUUQ7RXVFK1BBO0lRL1hFLCtCQUFtQyxFUmlZcEMsRUFBQTs7QVNyS0w7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWG5IMEI7RVdxSDFCLG1CQUFrQjtFQUNsQixpQlh2SHNCO0VXd0h0QixtQ1h0SHlDLEVXdUgxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWDNNcUI7RVc0TXJCLHFCQUFvQixFQUNyQjs7QWZnREM7RWU1Q0EsZVg3SWlCO0VXOElqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLGlDWGxPa0M7RVdtT2xDLG1CWGpMc0I7RVdrTHRCLG9CWC9OeUI7RVdnT3pCLGVYakxrQjtFV2tMbEIsbUNYN0pzQyxFV21LdkM7RUFoQkQ7Ozs7OztJQWFJLGVBQWM7SUFDZCxlWGhQZSxFV2lQaEI7O0FBUUc7RUFJSSxrQk52UDZDO0VNbVE3QyxpQlg5TVc7RVdzTlgsY0FBYTtFQU9iLHNCWDVOaUIsRVc4TnBCOztBQWpDRDtFQUlJLG1CTnZQNkM7RU1tUTdDLGlCWDlNVztFV3NOWCxjQUFhO0VBT2Isc0JYNU5pQixFVzhOcEI7O0FBakNEO0VBSUkscUJOdlA2QztFTW1RN0MsaUJYOU1XO0VXc05YLGNBQWE7RUFPYixzQlg1TmlCLEVXOE5wQjs7QUFqQ0Q7RUFJSSxvQk52UDZDO0VNbVE3QyxpQlg5TVc7RVdzTlgsY0FBYTtFQU9iLHNCWDVOaUIsRVc4TnBCOztBQWpDRDtFQUlJLHFCTnZQNkM7RU1tUTdDLGlCWDlNVztFV3NOWCxjQUFhO0VBT2Isc0JYNU5pQixFVzhOcEI7O0FBakNEO0VBSUksZ0JOdlA2QztFTW1RN0MsaUJYOU1XO0VXc05YLGNBQWE7RUFPYixzQlg1TmlCLEVXOE5wQjs7QWhGek1IO0VnRndLRTtJQUlJLG1CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksZ0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxtQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGtCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxnQk52UDZDLEVNb1JoRCxFQUFBOztBZm5HTDtFZTBHQSxxQkFBb0I7RUFDcEIsZVg1U2M7RVc2U2Qsc0JYdE15QjtFV3dNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWDdNMkQsRVdpTjVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBZnZLRDtFZTRLQSxZQUFXO0VBRVgsaUJObFRxRDtFTW1UckQsVUFBUztFQUNULHFCWHpOeUI7RVcyTnpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDWDlUaUI7RVcrVGpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JYblAwQjtFV29QMUIsNkJYbE95QjtFV21PekIsaUJYdFBzQixFV3VQdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlg1T3NCO0VXNk90QixzQlgvT2tCLEVXZ1BuQjs7QUFHRDtFQUNFLHFCWGxQc0IsRVdtUHZCOztBQUdEO0VBRUkscUJYdlAyQjtFV3dQM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JYN1B5QixFV21RMUI7RUFQRDtJQUlJLHNCWDlQOEI7SVcrUDlCLGtCWDdWbUIsRVc4VnBCOztBQUlIO0VBQ0UsaUJYNVIwQjtFVzZS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QjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osaUJEa0NnQjtNQ2xDaEIsa0JEa0NnQjtVQ2xDaEIsU0RrQ2dCLEVBR1g7O0FySHFERDtFcUh2REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FySHFERDtFcUh2REE7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENo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RUpSMUI7O0FBVUQ7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRnlCO01BRXpCLDZCQUZ5QjtVQUV6Qix5QkFGeUI7RUN2QnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRnlCO01BRXpCLDZCQUZ5QjtVQUV6Qix5QkFGeUI7RUN2QnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUszQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtNQUV6QiwwQkFGeUI7VUFFekIsc0JBRnlCO0VLM0J2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtF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SUFTRywwQkFBZ0M7SUFDaEMsNEJBQTJCO0lBQzNCLHlDQUF3QyxFQUN4Qzs7QUFaSDtFQWdCRSwwQkFBeUI7RUFDekIsaUJBQWdCO0VBQ2hCLHNCQUFxQjtFQUNyQiwyQkFBMEIsRUFPMUI7RUExQkY7SUFzQkcsMEJBQWdDO0lBQ2hDLDRCQUEyQjtJQUMzQix5Q0FBd0MsRUFDeEM7O0FDM1FIO0VBSUcsK0J6R29FZTtFeUduRWYsNEJBQTJCLEVBQzNCOztBQU5IO0VBVUUsa0JBQWlCLEVBMkJqQjtFQXJDRjtJQWFHLHNCQUFxQjtJQUNyQixpQ3pHMERlO0l5R3pEZixrQ0FBaUMsRUFxQmpDO0lBcENIO01Ba0JJLHdCQUF1QjtNQUN2QiwwQkFBZ0M7TUFDaEMsa0JBQWlCO01BQ2pCLHlCQUF3QixFQUt4QjtNQTFCSjtRQXdCSyxtQkFBa0IsRUFDbEI7SUF6Qkw7TUE2QkksYUFBWTtNQUNaLHFCQUFvQixFQUtwQjtNQW5DSjtRQWlDSyxxQ0FBb0MsRUFDcEM7TUFsQ0w7UUFpQ0sscUNBQW9DLEVBQ3BDO01BbENMO1FBaUNLLHFDQUFvQyxFQUNwQzs7QUFsQ0w7RUF3Q0Usa0JBQWlCLEVBQ2pCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG5ib2R5IHtcbiAgLS1tZGMtdGhlbWUtcHJpbWFyeTogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgLS1tZGMtdGhlbWUtcHJpbWFyeS0xOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAtLW1kYy10aGVtZS1zZWNvbmRhcnk6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIC0tbWRjLXRoZW1lLXNlY29uZGFyeS0xOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAtLW1kYy10aGVtZS1iYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA3MjBweCAhaW1wb3J0YW50OyB9XG4gICAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2UgLmZvcm0tZ3JvdXAgaW5wdXQge1xuICAgICAgbWluLXdpZHRoOiAyNjBweDsgfSB9XG5cbi5tZGMtZm9ybS1maWVsZCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE3ODZlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIHtcbiAgICBvcmRlcjogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGRbZGlyPVwicnRsXCJdID4gbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogNHB4OyB9XG5cbi5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwge1xuICBvcmRlcjogLTE7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNHB4OyB9XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmRbZGlyPVwicnRsXCJdID4gbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxuXG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydCwgMCkpIHNjYWxlKDEpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIG9wYWNpdHk6IHZhcigtLW1kYy1yaXBwbGUtZmctb3BhY2l0eSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubWRjLXJpcHBsZS1zdXJmYWNlLS10ZXN0LWVkZ2UtdmFyLWJ1ZyB7XG4gIC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXI6IDFweCBzb2xpZCAjMDAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS0tdGVzdC1lZGdlLXZhci1idWc6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiB2YXIoLS1tZGMtcmlwcGxlLXN1cmZhY2UtdGVzdC1lZGdlLXZhcik7IH1cblxuLm1kYy1yYWRpbyB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yOyB9XG4gIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTsgfVxuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7IH1cbiAgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTsgfVxuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTsgfSB9XG4gIC5tZGMtcmFkaW86OmJlZm9yZSwgLm1kYy1yYWRpbzo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZGMtcmFkaW86OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDIyNW1zIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGZvcndhcmRzLCA3NW1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiBmb3J3YXJkczsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiAxNTBtcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXJhZGlvOjpiZWZvcmUsIC5tZGMtcmFkaW86OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgLm1kYy1yYWRpbzo6YmVmb3JlLCAubWRjLXJhZGlvOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtcmFkaW86OmJlZm9yZSwgLm1kYy1yYWRpbzo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpOyB9IH1cbiAgLm1kYy1yYWRpbzpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtcmFkaW86bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xNjsgfVxuICAubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjE2OyB9XG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lOyB9XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kLFxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuXG4ubWRjLXJhZGlvLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCxcblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSxcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlLFxuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyLCAyKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy1idXR0b24sIC5idXR0b24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDg5MjllbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgcGFkZGluZzogMCA4cHggMCA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLmJ1dHRvbjo6YmVmb3JlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjpiZWZvcmUsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YmVmb3JlLCAubWRjLWJ1dHRvbjo6YWZ0ZXIsIC5idXR0b246OmFmdGVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjphZnRlciwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLmJ1dHRvbjo6YmVmb3JlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjpiZWZvcmUsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLXJpcHBsZS11cGdyYWRlZC5idXR0b246OmJlZm9yZSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQubWRjLXJpcHBsZS11cGdyYWRlZFt0eXBlPVwiYnV0dG9uXCJdOjpiZWZvcmUsIC52ZXJzaW9uLWZvcm0gLm1kYy1yaXBwbGUtdXBncmFkZWQub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyLCAubWRjLXJpcHBsZS11cGdyYWRlZC5idXR0b246OmFmdGVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5tZGMtcmlwcGxlLXVwZ3JhZGVkW3R5cGU9XCJidXR0b25cIl06OmFmdGVyLCAudmVyc2lvbi1mb3JtIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciwgLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZC5idXR0b246OmFmdGVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWRbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIsIC52ZXJzaW9uLWZvcm0gLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTsgfVxuICAubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyLCAubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uLmJ1dHRvbjo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvblt0eXBlPVwiYnV0dG9uXCJdOjphZnRlciwgLnZlcnNpb24tZm9ybSAubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogMjI1bXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gZm9yd2FyZHMsIDc1bXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIGZvcndhcmRzOyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciwgLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uLmJ1dHRvbjo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uW3R5cGU9XCJidXR0b25cIl06OmFmdGVyLCAudmVyc2lvbi1mb3JtIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbi5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDE1MG1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtYnV0dG9uOjpiZWZvcmUsIC5idXR0b246OmJlZm9yZSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTo6YmVmb3JlLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyLCAuYnV0dG9uOjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLmJ1dHRvbjo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Lm1kYy1yaXBwbGUtdXBncmFkZWRbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIsIC52ZXJzaW9uLWZvcm0gLm1kYy1yaXBwbGUtdXBncmFkZWQub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5tZGMtYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbjphY3RpdmUsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0OmFjdGl2ZVt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5tZGMtYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWRjLWJ1dHRvbjpkaXNhYmxlZCwgLmJ1dHRvbjpkaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6ZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm1kYy1idXR0b24ubWRjLWJ1dHRvbi0tZGVuc2UsIC5tZGMtYnV0dG9uLS1kZW5zZS5idXR0b24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Lm1kYy1idXR0b24tLWRlbnNlW3R5cGU9XCJidXR0b25cIl0sIC52ZXJzaW9uLWZvcm0gLm1kYy1idXR0b24tLWRlbnNlLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5tZGMtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLCAuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpub3QoOmRpc2FibGVkKVt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLCAuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpub3QoOmRpc2FibGVkKVt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06bm90KDpkaXNhYmxlZCkge1xuICAgIGNvbG9yOiAjNjIwMGVlO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpOyB9XG4gIC5tZGMtYnV0dG9uOjpiZWZvcmUsIC5idXR0b246OmJlZm9yZSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTo6YmVmb3JlLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyLCAuYnV0dG9uOjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAubWRjLWJ1dHRvbjo6YmVmb3JlLCAuYnV0dG9uOjpiZWZvcmUsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl06OmJlZm9yZSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOjpiZWZvcmUsIC5tZGMtYnV0dG9uOjphZnRlciwgLmJ1dHRvbjo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl06OmFmdGVyLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH0gfVxuICAubWRjLWJ1dHRvbjpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXI6OmJlZm9yZSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgLm1kYy1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAuYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLmJ1dHRvbjo6YmVmb3JlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWRbdHlwZT1cImJ1dHRvblwiXTo6YmVmb3JlLCAudmVyc2lvbi1mb3JtIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciwgLmJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAubWRjLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjE2OyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQsIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLmJ1dHRvbiwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQubWRjLXJpcHBsZS11cGdyYWRlZFt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTY7IH1cbiAgLm1kYy1idXR0b24gLm1kYy1idXR0b25fX2ljb24sIC5idXR0b24gLm1kYy1idXR0b25fX2ljb24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0gLm1kYy1idXR0b25fX2ljb24sIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLWJ1dHRvbiAubWRjLWJ1dHRvbl9faWNvbiwgW2Rpcj1cInJ0bFwiXSAuYnV0dG9uIC5tZGMtYnV0dG9uX19pY29uLCBbZGlyPVwicnRsXCJdIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0gLm1kYy1idXR0b25fX2ljb24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIFtkaXI9XCJydGxcIl0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSAubWRjLWJ1dHRvbl9faWNvbiwgW2Rpcj1cInJ0bFwiXSAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0gLm1kYy1idXR0b25fX2ljb24sIC52ZXJzaW9uLWZvcm0gW2Rpcj1cInJ0bFwiXSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIC5tZGMtYnV0dG9uX19pY29uLCAubWRjLWJ1dHRvbiAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIC5idXR0b24gLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZGMtYnV0dG9uIHN2Zy5tZGMtYnV0dG9uX19pY29uLCAuYnV0dG9uIHN2Zy5tZGMtYnV0dG9uX19pY29uLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHN2Zy5tZGMtYnV0dG9uX19pY29uLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0gc3ZnLm1kYy1idXR0b25fX2ljb24ge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2ljb24sXG4udmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0gLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9faWNvbiwgLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXSAubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2ljb24sIFtkaXI9XCJydGxcIl0gLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIC5tZGMtYnV0dG9uX19pY29uLCAudmVyc2lvbi1mb3JtIFtkaXI9XCJydGxcIl0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSAubWRjLWJ1dHRvbl9faWNvbixcbiAgLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSxcbiAgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogLTRweDsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQge1xuICBwYWRkaW5nOiAwIDE2cHggMCAxNnB4OyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6ZGlzYWJsZWQsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KDpkaXNhYmxlZCksXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlOyB9XG4gICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLm1kYy1idXR0b24tLXJhaXNlZDpub3QoOmRpc2FibGVkKSxcbiAgICAgIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH0gfVxuICAubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCg6ZGlzYWJsZWQpLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpub3QoOmRpc2FibGVkKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tcHJpbWFyeSwgI2ZmZik7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOjphZnRlcixcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmJlZm9yZSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLm1kYy1idXR0b24tLXJhaXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOjphZnRlcixcbiAgICAgIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjpiZWZvcmUsXG4gICAgICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTsgfSB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXI6OmJlZm9yZSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICAubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1idXR0b24tLXJhaXNlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI0OyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlcixcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMzI7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4zMjsgfVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXIsIC5tZGMtYnV0dG9uLS1yYWlzZWQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDpkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgcGFkZGluZzogMCAxNHB4IDAgMTRweDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgLm1kYy1idXR0b24tLW91dGxpbmVkOmRpc2FibGVkLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06ZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxuICAubWRjLWJ1dHRvbi0tb3V0bGluZWQ6bm90KDpkaXNhYmxlZCksIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjIwMGVlO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTsgfVxuXG4ubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICBoZWlnaHQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07IH1cblxuLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGNvbG9yIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHRleHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpOyB9XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc3RhbmRhcmQgMjUwbXMgMTsgfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zdGFuZGFyZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7IH0gfVxuXG4ubWRjLWxpbmUtcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDI7IH1cblxuLm1kYy1saW5lLXJpcHBsZS0tYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZSwgLm1kYy1ub3RjaGVkLW91dGxpbmVbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCwgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMnB4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTdweDtcbiAgICBib3R0b206IGF1dG87IH1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBib3JkZXItdG9wOiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLCAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2hbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vLWxhYmVsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMzMzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxuICAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG5cbi5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubWRjLXRleHQtZmllbGRfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy10ZXh0LWZpZWxkX19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtdGV4dC1maWVsZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjsgfVxuICAubWRjLXRleHQtZmllbGQ6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDIyNW1zIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGZvcndhcmRzLCA3NW1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiBmb3J3YXJkczsgfVxuICAubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDE1MG1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIC5tZGMtdGV4dC1maWVsZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlOyB9XG4gIC5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGNhcmV0LWNvbG9yOiAjNjIwMGVlO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBjYXJldC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpOyB9XG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlO1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTsgfVxuICAubWRjLXRleHQtZmllbGQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIHRvcDogMThweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcmlnaHQ6IDE2cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogNHB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDRweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiAxN3B4OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiA0cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDM2cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiBpbml0aWFsOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcmlnaHQ6IDM2cHg7IH1cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiA0MHB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICByaWdodDogNDBweDsgfVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDE2cHggNnB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsICsgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQge1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICM2MjAwZWU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICAgIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQgMjUwbXMgMTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZ1tkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSBzY2FsZSgxKTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4IDE0cHg7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgei1pbmRleDogMjsgfVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSB7XG4gIGhlaWdodDogNDhweDsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzQlKSBzY2FsZSgxKTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSAyNTBtcyAxOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCA3cHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxNHB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgdG9wOiAxMnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxNnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDQ4cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDE2cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMSk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDAuNzUpOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgwLjc1KTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uIDI1MG1zIDE7IH1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWRbZGlyPVwicnRsXCJdIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDM2cHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzQlKSB0cmFuc2xhdGVYKC0yMXB4KSBzY2FsZSgxKTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzQlKSB0cmFuc2xhdGVYKDIxcHgpIHNjYWxlKDEpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHRyYW5zbGF0ZVgoLTIxcHgpIHNjYWxlKDAuOCk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgdHJhbnNsYXRlWCgyMXB4KSBzY2FsZSgwLjgpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UgMjUwbXMgMTsgfVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCAyNTBtcyAxOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAyNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAyNnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTJweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDEycHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiBpbml0aWFsOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBhdXRvOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTZweDsgfVxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDEycHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMTJweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbixcbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBib3R0b206IDE2cHg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTJweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAzOHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDM4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAzOHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDEycHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiBpbml0aWFsOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzhweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogYXV0bztcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IDEycHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogMTJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogYXV0bzsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogYXV0bztcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDEycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzhweDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMzhweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMzhweDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtZGVuc2UgMjUwbXMgMTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBwYWRkaW5nOiAxMnB4IDEycHggMDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBmb250LXNpemU6IC44MTNyZW07IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAuODEzcmVtOyB9XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlcixcbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7XG4gIGNvbnRlbnQ6IFwiKlwiOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNCk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCAyNTBtcyAxOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHNjYWxlKDEpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDhweCAxcHggMXB4IDA7XG4gICAgcGFkZGluZzogMCAxNnB4IDE2cHg7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxN3B4O1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci13aWR0aDogMnB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKTo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSk6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgcGFkZGluZzogMDsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG5cbi5tZGMtdGV4dC1maWVsZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDk4LCAwLCAyMzgsIDAuODcpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSg5OCwgMCwgMjM4LCAwLjg3KTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDpub3QoLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjIwMGVlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0LCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIsIC5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUsIC5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciwgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZywgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNhcmV0LWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNhcmV0LWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uOm5vdCgubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24pOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb246bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZywgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5vb2Qtd3AtZXJyb3ItZm9ybS1ncm91cCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTsgfVxuICAubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTsgfVxuICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtZGVuc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtNzAlKSBzY2FsZSgwLjgpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0YXJlYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAwJSxcbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzQ7IH1cbiAgNTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIDAlLFxuICA2OC4yJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgNjguMiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTI5Ljc4MzM0OyB9IH1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTQsIDAsIDAsIDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAzMi44JSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5tZGMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIDE4cHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBwYWRkaW5nOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuICAubWRjLWNoZWNrYm94OjpiZWZvcmUsIC5tZGMtY2hlY2tib3g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAubWRjLWNoZWNrYm94OjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiAyMjVtcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiBmb3J3YXJkcywgNzVtcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gZm9yd2FyZHM7IH1cbiAgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogMTUwbXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy1jaGVja2JveDo6YmVmb3JlLCAubWRjLWNoZWNrYm94OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5tZGMtY2hlY2tib3g6OmJlZm9yZSwgLm1kYy1jaGVja2JveDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpOyB9IH1cbiAgLm1kYy1jaGVja2JveDpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xNjsgfVxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjE2OyB9XG4gIC5tZGMtY2hlY2tib3g6OmJlZm9yZSwgLm1kYy1jaGVja2JveDo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7IH1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjsgfVxuICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpOyB9IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpOyB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0wIHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTsgfSB9XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtMCB7XG4gIDAlLCA4MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTsgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtMDsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLTA7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLmRpc2FibGVkIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpW3JlYWRvbmx5XSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5kaXNhYmxlZCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWRbcmVhZG9ubHldIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLmRpc2FibGVkIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZVtyZWFkb25seV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIG1hcmdpbjogMCAxcHg7IH0gfVxuXG4ubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTFweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMXB4O1xuICBib3R0b206IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNDUlO1xuICBoZWlnaHQ6IDQ1JTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjsgfVxuICAubWRjLWNoZWNrYm94W2Rpcj1cInJ0bFwiXSAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxMXB4OyB9XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuICAubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS13aWR0aDogMy4xMnB4O1xuICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzQ7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDI5Ljc4MzM0OyB9XG5cbi5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG9wYWNpdHk6IDA7IH1cblxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTgwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgYW5pbWF0aW9uOiAxODBtcyBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiA5MG1zIGxpbmVhciAwcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IDkwbXMgbGluZWFyIDBzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aDtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IDkwbXMgbGluZWFyIDBzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogOTBtcyBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcms7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiA1MDBtcyBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcms7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiA1MDBtcyBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcms7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IDMwMG1zIGxpbmVhciAwcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuXG4ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDIuNzUsIDIuNzUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDAuMTI7IH1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7IH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQsIC5kaXNhYmxlZCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW3JlYWRvbmx5XSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gMTgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuQGtleWZyYW1lcyBtZGMtc2VsZWN0LWZsb2F0LW5hdGl2ZS1jb250cm9sIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb246bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX2ljb24ge1xuICBjb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC41NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZGMtc2VsZWN0X19pY29uOm5vdChbdGFiaW5kZXhdKSxcbi5tZGMtc2VsZWN0X19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMzMzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IDA7IH1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXBlcnNpc3RlbnQge1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWxsLWNoYW5nZTogaW5pdGlhbDsgfVxuXG4ubWRjLXNlbGVjdCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDU2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yOyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlOyB9XG4gIC5tZGMtc2VsZWN0OjpiZWZvcmUsIC5tZGMtc2VsZWN0OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLm1kYy1zZWxlY3Q6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiAyMjVtcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiBmb3J3YXJkcywgNzVtcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gZm9yd2FyZHM7IH1cbiAgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDE1MG1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gIC5tZGMtc2VsZWN0OjpiZWZvcmUsIC5tZGMtc2VsZWN0OjphZnRlciB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTsgfVxuICAubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpOyB9XG4gIC5tZGMtc2VsZWN0OjpiZWZvcmUsIC5tZGMtc2VsZWN0OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXNlbGVjdDpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7IH1cbiAgLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAubWRjLXNlbGVjdCwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTsgfVxuICAubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDk4LCAwLCAyMzgsIDAuODcpOyB9XG4gIC5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAubWRjLXNlbGVjdCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuNzUpOyB9XG4gIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDIxcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMTZweDsgfVxuICAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNDhweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcmlnaHQ6IGluaXRpYWw7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogNDhweDsgfVxuICAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogNHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDE3cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogNHB4OyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAzNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiAzNnB4OyB9XG4gICAgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMzZweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBpbml0aWFsOyB9XG4gICAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcmlnaHQ6IDM2cHg7IH1cbiAgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC41NCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiwgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb25bZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzNjIwMGVlJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIxJTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLXNlbGVjdCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBtYXJnaW4tbGVmdDogMTJweDsgfVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nLXRvcDogMjJweDsgfVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2xbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0LFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dFtkaXI9XCJydGxcIl0ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLWxlZnQ6IDUycHg7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOjotbXMtZXhwYW5kLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6Oi1tcy12YWx1ZSxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6Oi1tcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeChcIlwiKSB7XG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIHRleHQtaW5kZW50OiAtMnB4OyB9IH1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjQpOyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkIDI1MG1zIDE7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6OmJlZm9yZSwgLm1kYy1zZWxlY3QtLW91dGxpbmVkOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSBzY2FsZSgxKTsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2xbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4gICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0LFxuICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dFtkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiAxNHB4OyB9XG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgei1pbmRleDogMjsgfVxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1pbnZhbGlkICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7IH1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4OyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTsgfVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyM2IwMDAyMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyOyB9XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWRjLXNlbGVjdC0tcmVxdWlyZWQgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIipcIjsgfVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTsgfVxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC4zNyUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH1cbiAgLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgICAubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTsgfVxuICAgIC5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgIC5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDsgfVxuICBbZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHJpZ2h0OiAxNnB4OyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbFtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0LFxuICAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHRbZGlyPVwicnRsXCJdIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgxKTsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMC43NSk7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbiAgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgwLjc1KTsgfVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24gMjUwbXMgMTsgfVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7IH1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0LWl0ZW1fX3RleHQsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0W2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTsgfVxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjpiZWZvcmUsIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjphZnRlciB7XG4gICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApOyB9IH1cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjA0OyB9XG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4xNjsgfVxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjE2OyB9XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpOyB9IH1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7IH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTsgfSB9XG5cbi5tZGMtbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuNTQpKTsgfVxuXG4ubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7IH1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaGludC1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTsgfVxuXG4ubWRjLWxpc3QtLWRlbnNlIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgZm9udC1zaXplOiAuODEycmVtOyB9XG5cbi5tZGMtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGMtbGlzdC1pdGVtOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCxcbi5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICBjb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpOyB9XG4gIC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbiAgLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgY29sb3I6ICM2MjAwZWU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWRjLWxpc3QtaXRlbVtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW1fX21ldGEsXG4gIFtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHRbZm9yXSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMzJweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IC0yMHB4OyB9XG4gIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweDsgfVxuICAgIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG4gICAgLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTIwcHg7IH1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NmVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwOyB9XG5cbi5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLFxuICBbZGlyPVwicnRsXCJdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tbGVmdDogMzZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDU2cHg7IH1cblxuLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLm1kYy1saXN0LWl0ZW1bZGlyPVwicnRsXCJdIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsXG4gIFtkaXI9XCJydGxcIl0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNzJweDsgfVxuXG4ubWRjLWxpc3QtLXR3by1saW5lLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNjBweDsgfVxuXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNjBweDsgfVxuXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4OyB9XG4gIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICBhbmltYXRpb246IDIyNW1zIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGZvcndhcmRzLCA3NW1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiBmb3J3YXJkczsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiAxNTBtcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wNDsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjEyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6IDAuMTY7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xNjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4xMjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyMDBlZTsgfVxuICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmFmdGVyIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH0gfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4xNjsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yNDsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgb3BhY2l0eTogMC4yODsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjg7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4wODsgfVxuICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7IH1cbiAgICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTsgfSB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMTI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICBvcGFjaXR5OiAwLjI0OyB9XG4gIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0OyB9XG5cbmEubWRjLWxpc3QtaXRlbSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm1kYy1saXN0LWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyB9XG5cbi5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4ubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgbWFyZ2luOiAwIDE2cHg7IH1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogNzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4KTsgfVxuICAubWRjLWxpc3QtZ3JvdXBbZGlyPVwicnRsXCJdIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCxcbiAgW2Rpcj1cInJ0bFwiXSAubWRjLWxpc3QtZ3JvdXAgLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIG1hcmdpbi1yaWdodDogNzJweDsgfVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHggLSAxNnB4KTsgfVxuXG4ubWRjLWxpc3QtZ3JvdXAgLm1kYy1saXN0IHtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBtYXJnaW46IDAuNzVyZW0gMTZweDsgfVxuXG4ubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpOyB9XG5cbi5tZGMtbWVudS1zdXJmYWNlIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luLWxlZnQ6IHRvcCBsZWZ0O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tcmlnaHQ6IHRvcCByaWdodDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB6LWluZGV4OiA4OyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kYy1tZW51LXN1cmZhY2UsIC5tZGMtbWVudS1zdXJmYWNlW2Rpcj1cInJ0bFwiXSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW4tbGVmdDogdG9wIHJpZ2h0O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0cmFuc2Zvcm0tb3JpZ2luLXJpZ2h0OiB0b3AgbGVmdDsgfVxuICAubWRjLW1lbnUtc3VyZmFjZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAubWRjLW1lbnUtc3VyZmFjZS0tYW5pbWF0aW5nLW9wZW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjAzcyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5tZGMtbWVudS1zdXJmYWNlLS1vcGVuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZGMtbWVudS1zdXJmYWNlLS1hbmltYXRpbmctY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA3NXMgbGluZWFyO1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWFuY2hvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5tZGMtbWVudSB7XG4gIG1pbi13aWR0aDogMTEycHg7IH1cbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSk7IH1cbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSk7IH1cbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDhweCAwOyB9XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAubWRjLW1lbnUgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAubWRjLW1lbnUgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCB7XG4gIHBhZGRpbmc6IDA7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAgLm1kYy1saXN0LWl0ZW0sIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1NnB4OyB9XG4gIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24ge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAxNnB4O1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICByaWdodDogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiwgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbltkaXI9XCJydGxcIl0ge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHJpZ2h0OiAxNnB4OyB9XG5cbi5tZGMtbWVudS1pdGVtLS1zZWxlY3RlZCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbkBrZXlmcmFtZXMgcHJpbWFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgzLjY3MTQyJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMC42MTEwNiUpOyB9IH1cblxuQGtleWZyYW1lcyBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH1cbiAgMzYuNjUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMzQ3MywgMC4xMjQ4MiwgMC43ODU4NCwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH1cbiAgNjkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wNiwgMC4xMSwgMC42LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjY2MTQ4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjA4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE1LCAwLCAwLjUxNTA2LCAwLjQwOTY5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMTAzMywgMC4yODQwNiwgMC44LCAwLjczMzcxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzcuNjUxOTElKTsgfVxuICA0OC4zNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuNjI3MDQsIDAuNiwgMC45MDIwMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDg0LjM4NjE3JSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2MC4yNzc3OCUpOyB9IH1cblxuQGtleWZyYW1lcyBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMDUwMywgMC4wNTcwNSwgMC41NzY2MSwgMC40NTM5Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH1cbiAgMTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNTIzMSwgMC4xOTY0MywgMC42NDgzNywgMS4wMDQzMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC40NTcxKTsgfVxuICA0NC4xNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1Nzc2LCAtMC4wMDMxNiwgMC4yMTE3NiwgMS4zODE3OSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC43Mjc5Nik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC4wOCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJ1ZmZlcmluZyB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDU5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODMuNjcxNDIlKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMC42MTEwNiUpOyB9IH1cblxuQGtleWZyYW1lcyBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUtcmV2ZXJzZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNSwgMCwgMC41MTUwNiwgMC40MDk2OSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDI1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzEwMzMsIDAuMjg0MDYsIDAuOCwgMC43MzM3MSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNy42NTE5MSUpOyB9XG4gIDQ4LjM1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC42MjcwNCwgMC42LCAwLjkwMjAzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTg0LjM4NjE3JSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNjAuMjc3NzglKTsgfSB9XG5cbkBrZXlmcmFtZXMgYnVmZmVyaW5nLXJldmVyc2Uge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IG5vbmU7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFuaW1hdGlvbjogYnVmZmVyaW5nIDI1MG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDRweDsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYnVmZmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2JhciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAubWRjLWxpbmVhci1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZSAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgIGxlZnQ6IC0xNDUuMTY2NjExJTtcbiAgICBhbmltYXRpb246IHByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUgMnMgaW5maW5pdGUgbGluZWFyOyB9XG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3ByaW1hcnktYmFyID4gLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2Jhci1pbm5lciB7XG4gICAgICBhbmltYXRpb246IHByaW1hcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSAycyBpbmZpbml0ZSBsaW5lYXI7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3NlY29uZGFyeS1iYXIge1xuICAgIGxlZnQ6IC01NC44ODg4OTElO1xuICAgIGFuaW1hdGlvbjogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3NlY29uZGFyeS1iYXIgPiAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgICAgIGFuaW1hdGlvbjogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUgMnMgaW5maW5pdGUgbGluZWFyOyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLFxuICAubWRjLWxpbmVhci1wcm9ncmVzcy0tcmV2ZXJzZWQgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0OyB9XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2U7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLXJldmVyc2VkIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2U7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLXJldmVyc2VkIC5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXJpbmctZG90cyB7XG4gICAgYW5pbWF0aW9uOiBidWZmZXJpbmctcmV2ZXJzZSAyNTBtcyBpbmZpbml0ZSBsaW5lYXI7IH1cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWNsb3NlZCB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4ubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7IH1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA1IDInIHhtbDpzcGFjZT0ncHJlc2VydmUnIHZpZXdCb3g9JzAgMCA1IDInIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUgc2xpY2UnJTNFJTNDY2lyY2xlIGN4PScxJyBjeT0nMScgcj0nMScgZmlsbD0nJTIzZTZlNmU2Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzX19idWZmZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzLS1pbmRldGVybWluYXRlLm1kYy1saW5lYXItcHJvZ3Jlc3MtLXJldmVyc2VkIC5tZGMtbGluZWFyLXByb2dyZXNzX19wcmltYXJ5LWJhciB7XG4gIHJpZ2h0OiAtMTQ1LjE2NjYxMSU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLm1kYy1saW5lYXItcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUubWRjLWxpbmVhci1wcm9ncmVzcy0tcmV2ZXJzZWQgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3NlY29uZGFyeS1iYXIge1xuICByaWdodDogLTU0Ljg4ODg5MSU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLyohXG4gTWF0ZXJpYWwgQ29tcG9uZW50cyBmb3IgdGhlIFdlYlxuIENvcHlyaWdodCAoYykgMjAxOSBHb29nbGUgSW5jLlxuIExpY2Vuc2U6IE1JVFxuKi9cbi5tZGMtZGlhbG9nLFxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tZGMtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogNzsgfVxuXG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UsICNmZmYpOyB9XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zMik7IH1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLCAubWRjLWRpYWxvZy5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgbWluLXdpZHRoOiAyODBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTkycHgpIHtcbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU5MnB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4OyB9IH1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7IH1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7IH1cblxuLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3N1cmZhY2UsIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTI1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjRweCA5cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4ubWRjLWRpYWxvZ19fdGl0bGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogNDBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7IH1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3RpdGxlLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5tZGMtZGlhbG9nX19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubWRjLWRpYWxvZ19fdGl0bGUgKyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDZweCAwIDA7IH1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5tZGMtZGlhbG9nLS1zdGFja2VkIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5tZGMtZGlhbG9nX19idXR0b24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbltkaXI9cnRsXSAubWRjLWRpYWxvZ19fYnV0dG9uLCAubWRjLWRpYWxvZ19fYnV0dG9uW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4ubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGQsIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGRbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubWRjLWRpYWxvZ1tkaXI9cnRsXSAubWRjLWRpYWxvZ19fYnV0dG9uLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm1kYy1kaWFsb2ctLXN0YWNrZWQgLm1kYy1kaWFsb2dfX2J1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDEycHg7IH1cblxuLm1kYy1kaWFsb2ctLW9wZW4sXG4ubWRjLWRpYWxvZy0tb3BlbmluZyxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubWRjLWRpYWxvZy0tb3BlbmluZyAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuXG4ubWRjLWRpYWxvZy0tb3BlbmluZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhciwgLXdlYmtpdC10cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCAtd2Via2l0LXRyYW5zZm9ybSAxNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX3NjcmltLFxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXI7IH1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4ubWRjLWRpYWxvZy0tb3BlbiAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZGMtZGlhbG9nLS1vcGVuIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kYy1kaWFsb2ctc2Nyb2xsLWxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPW1kYy5kaWFsb2cuY3NzLm1hcCovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTEyNWVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkthcmxhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzMzO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCwgLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wLFxuaDUsIC5oNSwgLm9vZC13cC1hbGVydC1lcnJvciwgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAudGVtcGxhdGUtbmFtZSxcbmg2LCAuaDYsIC5mb3JtLXNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiS2FybGFcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLCAuZm9ybS1zZWN0aW9uLWhlYWRlciBzbWFsbCwgLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQgc21hbGwsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LXRlbXAgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsIC5vb2Qtd3AtYWxlcnQtZXJyb3Igc21hbGwsIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEgLnRlbXBsYXRlLW5hbWUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwsIC5mb3JtLXNlY3Rpb24tc3ViaGVhZGVyIHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCwgLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUsIC5vb2Qtd3AtYWxlcnQtZXJyb3IsIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEgLnRlbXBsYXRlLW5hbWUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYsIC5mb3JtLXNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgaDQsIC5oNCwgLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBoNSwgLmg1LCAub29kLXdwLWFsZXJ0LWVycm9yLCAudGVtcGxhdGVzIC50ZW1wbGF0ZSAudGVtcGxhdGUtZGV0YWlscyBhIC50ZW1wbGF0ZS1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiwgLmZvcm0tc2VjdGlvbi1zdWJoZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICNkNDEyOTY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjYjYwZjgxOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzkyOTI5MjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTI5MjkyOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzY2NjY2NjsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzY2NjY2NjsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMzMzM7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzkyOTI5MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b246Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNDBmODA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC50aW55W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LnNtYWxsW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5sYXJnZVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZXhwYW5kZWRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQucHJpbWFyeVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5wcmltYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQucHJpbWFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYTBlNzg7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWY3ZmQ7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGJkYmY2O1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5zdWNjZXNzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LnN1Y2Nlc3M6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5zdWNjZXNzOmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5idXR0b24ud2FybmluZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQud2FybmluZ1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC53YXJuaW5nOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24ud2FybmluZzpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQud2FybmluZzpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzMzMzsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5hbGVydFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY0YjEzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuYWxlcnQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuYWxlcnQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWIzYzBmO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF06aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDEyOTY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLnByaW1hcnlbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeTpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS5zZWNvbmRhcnlbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjdmZDtcbiAgICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzczpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLndhcm5pbmc6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nOmZvY3VzW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W2Rpc2FibGVkXS5hbGVydFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF0uYWxlcnQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjRiMTM7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3dbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICBjb2xvcjogI2Q0MTI5NjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3dbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdzpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvd1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdzpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmEwOTRiO1xuICAgICAgY29sb3I6ICM2YTA5NGI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3c6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3c6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDQxMjk2O1xuICAgICAgICBjb2xvcjogI2Q0MTI5NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICAgIGNvbG9yOiAjZDQxMjk2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cucHJpbWFyeTpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cucHJpbWFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmEwOTRiO1xuICAgICAgICBjb2xvcjogIzZhMDk0YjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICAgICAgICBjb2xvcjogI2Q0MTI5NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWY3ZmQ7XG4gICAgICBjb2xvcjogI2U1ZjdmZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTFhY2UwO1xuICAgICAgICBjb2xvcjogIzExYWNlMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWY3ZmQ7XG4gICAgICAgICAgY29sb3I6ICNlNWY3ZmQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q2NGIxMztcbiAgICAgIGNvbG9yOiAjZDY0YjEzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5ob2xsb3cuYWxlcnQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZiMjYwYTtcbiAgICAgICAgY29sb3I6ICM2YjI2MGE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q2NGIxMztcbiAgICAgICAgICBjb2xvcjogI2Q2NGIxMzsgfVxuICAuYnV0dG9uLmNsZWFyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhclt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDQxMjk2O1xuICAgIGNvbG9yOiAjZDQxMjk2OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXI6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXI6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmRpc2FibGVkOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmRpc2FibGVkOmZvY3VzW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXTpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXJbZGlzYWJsZWRdOmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZhMDk0YjtcbiAgICAgIGNvbG9yOiAjNmEwOTRiOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXI6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNDEyOTY7XG4gICAgICAgIGNvbG9yOiAjZDQxMjk2OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXI6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyOmZvY3VzW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhcjpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICAgIGNvbG9yOiAjZDQxMjk2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnByaW1hcnk6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2YTA5NGI7XG4gICAgICAgIGNvbG9yOiAjNmEwOTRiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICAgICAgICBjb2xvcjogI2Q0MTI5NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnByaW1hcnk6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZjdmZDtcbiAgICAgIGNvbG9yOiAjZTVmN2ZkOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzExYWNlMDtcbiAgICAgICAgY29sb3I6ICMxMWFjZTA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZjdmZDtcbiAgICAgICAgICBjb2xvcjogI2U1ZjdmZDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zdWNjZXNzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLndhcm5pbmcuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZ1tkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDY0YjEzO1xuICAgICAgY29sb3I6ICNkNjRiMTM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2YjI2MGE7XG4gICAgICAgIGNvbG9yOiAjNmIyNjBhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDY0YjEzO1xuICAgICAgICAgIGNvbG9yOiAjZDY0YjEzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuYWxlcnRbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZHJvcGRvd25bdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRyb3Bkb3duLmhvbGxvd1t0eXBlPVwiYnV0dG9uXCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q0MTI5NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkNDEyOTY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeVt0eXBlPVwiYnV0dG9uXCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2U1ZjdmZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3NbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nW3R5cGU9XCJidXR0b25cIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LmFsZXJ0W3R5cGU9XCJidXR0b25cIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDY0YjEzOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmFycm93LW9ubHlbdHlwZT1cImJ1dHRvblwiXTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gMC4yNXJlbSAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI1cmVtIDAuMjVyZW07IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNkNDEyOTY7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjVyZW0gMC4yNXJlbTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMzMzOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZDQxMjk2O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI2Q0MTI5NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTVmN2ZkO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2Q2NGIxMztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMzMzM7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogIzkyOTI5MjsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNkNDEyOTY7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzkyOTI5MjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpsYXN0LWNoaWxkW3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAgaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC50aW55IC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAudGlueSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc21hbGwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAubGFyZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhMGU3ODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWY3ZmQ7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YmRiZjY7XG4gICAgICBjb2xvcjogIzMzMzsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjRiMTM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYjNjMGY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpsYXN0LWNoaWxkW3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPVwiYnV0dG9uXCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Omxhc3QtY2hpbGRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTEsIDUxLCA1MSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzMzMzsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Q4ZjA7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmZWZmO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTNkOTtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMzMzOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViOyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uLFxuICAubWVudSAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAubWVudSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDQxMjk2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDQxMjk2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51IC5tZW51LXRleHQge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5MjkyOTI7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOTI5MjkyLCAwIDE0cHggMCAjOTI5MjkyOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMzMzLCAwIDE0cHggMCAjMzMzO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjNjY2NjY2LCAwIDE0cHggMCAjNjY2NjY2OyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNkNDEyOTY7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZDQxMjk2OyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNkNDEyOTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZDQxMjk2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5MjkyOTI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZDQxMjk2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ViZWJlYjsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZDQxMjk2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNkNDEyOTY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkNDEyOTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZDQxMjk2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Q0MTI5NjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkNDEyOTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2Q0MTI5NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Q0MTI5NjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzkyOTI5MjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNkNDEyOTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Q0MTI5NjsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDQxMjk2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNlNWY3ZmQ7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDY0YjEzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2Q0MTI5NjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg1MSwgNTEsIDUxLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZDQxMjk2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDUxLCA1MSwgNTEsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSg1MSwgNTEsIDUxLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSg1MSwgNTEsIDUxLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSg1MSwgNTEsIDUxLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoNTEsIDUxLCA1MSwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTI5MjkyOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzkyOTI5MjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzMzMzsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MjkyOTI7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2OyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVmN2ZkOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NGIxMzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MjkyOTI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0MGY4MDsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjOTI5MjkyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNkNDEyOTY7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2Q0MTI5NjsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2M5MTE4ZjsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZDQxMjk2OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogI2I2MGY4MTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgY29sb3I6ICNkNDEyOTY7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMzMzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDUxLCA1MSwgNTEsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjEyLCAxOCwgMTUwLCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICNkNDEyOTY7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzY2NjY2NjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDE4cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMztcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24sIC50b3AtYmFyIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC50b3AtYmFyIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSwgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLm5vdC1sb2dnZWQtaW4tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4udGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW92ZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDsgfVxuXG4uZm9udC13aWRlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVyZW07IH1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxudWwubGlzdC1kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7IH1cblxudWwubGlzdC1jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3Qtc3F1YXJlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmUgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWRlY2ltYWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWxvd2VyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYSAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtbG93ZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1sb3dlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW4gIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LXVwcGVyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYSAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtdXBwZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWxhdGluICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC11cHBlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW4gIWltcG9ydGFudDsgfVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50OyB9XG5cbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzkyOTI5MjsgfVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmFycm93LWRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5hcnJvdy11cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzM7IH1cblxuLmFycm93LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzMzsgfVxuXG4uYXJyb3ctbGVmdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLnNlcGFyYXRvci1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZDQxMjk2O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7IH1cblxuLnNlcGFyYXRvci1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5zZXBhcmF0b3ItbGVmdDo6YmVmb3JlLCAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZDQxMjk2O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uc2VwYXJhdG9yLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjpiZWZvcmUsIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNkNDEyOTY7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXgtdmlzaWJsZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteS12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXktaGlkZGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteS1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTsgfVxuXG4ucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTsgfVxuXG4uYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTMge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG46cm9vdCB7XG4gIC0tbWRjLXRoZW1lLWVycm9yOiAjZDY0YjEzOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cblxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG5ib2R5LmFkbWluLWJhci5mLXRvcGJhci1maXhlZCAuc3RpY2t5LmZpeGVkIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG5ib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gIHRvcDogMi44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguOTM3NWVtKSB7XG4gICAgYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiAycmVtOyB9IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuXG5wLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmFjY291bnQtdXNlcm5hbWUge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICAuYWNjb3VudC11c2VybmFtZSBzdHJvbmcge1xuICAgIGNvbG9yOiAjZDQxMjk2OyB9XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjdmZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gIC5mZWF0dXJlZC1oZXJvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAzMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cblxuLnBhZ2UtaGVhZGVyIC5jdXJyZW50LXVzZXItZGV0YWlscyB7XG4gIG1pbi1oZWlnaHQ6IDUuNXJlbTsgfVxuXG4ucGFnZS1oZWFkZXIgLmNvbnRhY3QtaW5mby1jb250YWluZXIgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5wYWdlLWhlYWRlciAuY29udGFjdC1pbmZvLWNvbnRhaW5lciBwLmNvbnRhY3QtaW5mbyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi5wYWdlLWhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICBtYXgtaGVpZ2h0OiA3cmVtO1xuICBtYXgtd2lkdGg6IDIwcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICB3aWR0aDogMTRyZW07XG4gICAgICBwYWRkaW5nOiAycmVtIDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTJyZW07IH0gfVxuXG4ucGFnZS1oZWFkZXIgLnBhZ2UtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLWhlYWRlciAucGFnZS1iYW5uZXIgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAucGFnZS1oZWFkZXIgLnBhZ2UtYmFubmVyIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtaGVhZGVyIC5wYWdlLWJhbm5lciAuaGVhZGVyX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfVxuICAgIC5wYWdlLWhlYWRlciAucGFnZS1iYW5uZXIgLmhlYWRlcl9idXR0b25zIGkge1xuICAgICAgY29sb3I6ICNkNDEyOTY7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC42cmVtOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnBhZ2UtYmFubmVyIC5oZWFkZXJfYnV0dG9ucyBpOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOyB9XG4gIC5wYWdlLWhlYWRlciAucGFnZS1iYW5uZXIgLm5vdC1sb2dnZWQtaW4tdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBhZ2UtaGVhZGVyIC5wYWdlLWJhbm5lciAucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wYWdlLWhlYWRlciAucGFnZS1uYXZpZ2F0aW9uIC5tZW51IGxpIGEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgbWFyZ2luLXRvcDogMS4zcmVtOyB9XG4gIC5wYWdlLWhlYWRlciAucGFnZS1uYXZpZ2F0aW9uIC5tZW51IGxpIGE6aG92ZXIsIC5wYWdlLWhlYWRlciAucGFnZS1uYXZpZ2F0aW9uIC5tZW51IGxpIGE6Zm9jdXMge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4ucGFnZS1oZWFkZXIgLnBhZ2UtbmF2aWdhdGlvbiAubWVudSBsaS5pcy1hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2Q0MTI5NjsgfVxuXG4ucGFnZS1oZWFkZXIgLnNlYXJjaC1mb3JtIHtcbiAgbWFyZ2luOiAycmVtIC0yLjVyZW0gMCAwOyB9XG4gIC5wYWdlLWhlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsgfVxuICAgIC5wYWdlLWhlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uOjphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnBhZ2UtaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMC43cmVtIDAuNXJlbSAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MTI5NjsgfVxuICAgIC5wYWdlLWhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gIC5wYWdlLWhlYWRlciAuc2VhcmNoLWZvcm06aG92ZXIgaW5wdXQge1xuICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDFzIGVhc2U7IH1cbiAgLnBhZ2UtaGVhZGVyIC5zZWFyY2gtZm9ybTpmb2N1cy13aXRoaW4gaW5wdXQge1xuICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XG4gICAgd2lkdGg6IDEwcmVtOyB9XG5cbi5ob21lIC5mZWF0dXJlZC1oZXJvLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWUgLmZlYXR1cmVkLWhlcm8tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cblxuLmhvbWUgLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWluLWhlaWdodDogMzJyZW07XG4gIG9wYWNpdHk6IDE7IH1cbiAgLmhvbWUgLmZlYXR1cmVkLWhlcm8gaW1nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAgIC5ob21lIC5mZWF0dXJlZC1oZXJvIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ob21lIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM2cmVtOyB9IH1cblxuLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydC1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ubG9nZ2VkLWluIGhlYWRlci5wYWdlLWhlYWRlciAucGFnZS10aXRsZSAuZ2xvYmFsLWFsZXJ0LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAxcyBlYXNlO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNjI1cmVtIC0gOHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDc1cHg7IH1cbiAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydC1jb250YWluZXIuY2xvc2VkIHtcbiAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgbWF4LWhlaWdodDogNjJweDsgfVxuICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lcjphZnRlciwgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydC1jb250YWluZXIuY2xvc2VkIC5nbG9iYWwtYWxlcnQgLmdsb2JhbC1hbGVydC1hcnJvd3MtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtbWVzc2FnZSB7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxZjZcIjsgfVxuICAgICAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydC1jb250YWluZXIuY2xvc2VkIC5nbG9iYWwtYWxlcnQgaTpob3ZlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4OyB9XG4gICAgICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyLmNsb3NlZCAuZ2xvYmFsLWFsZXJ0IGk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBmM1wiOyB9XG4gIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyIC5nbG9iYWwtYWxlcnQtbWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogbGluZS1oZWlnaHQgMXMgZWFzZTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyOm5vdCguY2xvc2VkKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEyMCUgKyAwLjkzNzVyZW0gKyA4cHgpO1xuICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gMXMgMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMC45Mzc1cmVtIC0gOHB4KTsgfSB9XG4gIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyIC5yaWJib24tY29ybmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICBtYXgtd2lkdGg6IDc1cHg7IH1cbiAgMTAwJSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEyMCUgKyAwLjkzNzVyZW0gKyA4cHgpOyB9IH1cblxuLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCB7XG4gIG1hcmdpbjogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWluLXdpZHRoOiA1MDBweDsgfVxuICAubG9nZ2VkLWluIGhlYWRlci5wYWdlLWhlYWRlciAucGFnZS10aXRsZSAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubG9nZ2VkLWluIGhlYWRlci5wYWdlLWhlYWRlciAucGFnZS10aXRsZSAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lcjphZnRlciwgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCAuZ2xvYmFsLWFsZXJ0LWFycm93cy1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yaWdodDogMTAwcHggc29saWQgdmFyKC0tdGhlbWUtbGlnaHQpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAubG9nZ2VkLWluIGhlYWRlci5wYWdlLWhlYWRlciAucGFnZS10aXRsZSAuZ2xvYmFsLWFsZXJ0IC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBib3JkZXItdG9wOiAxMzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCAuZ2xvYmFsLWFsZXJ0LWFycm93cy1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDEzNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm90dG9tOiA1MCU7IH1cbiAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCAuZ2xvYmFsLWFsZXJ0LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCBpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogM3B4OyB9XG4gICAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCBpOmhvdmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCBpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMWY2XCI7IH1cbiAgLmxvZ2dlZC1pbiBoZWFkZXIucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUgLmdsb2JhbC1hbGVydCBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubG9nZ2VkLWluIGhlYWRlci5wYWdlLWhlYWRlciAucGFnZS10aXRsZSAuZ2xvYmFsLWFsZXJ0IGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspOyB9XG4gIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgdG9wOiAwLjlyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgaGVpZ2h0OiAxLjNyZW07XG4gICAgd2lkdGg6IDEuM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5sb2dnZWQtaW4gaGVhZGVyLnBhZ2UtaGVhZGVyIC5wYWdlLXRpdGxlIC5nbG9iYWwtYWxlcnQgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY7IH1cblxuLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjZTVmN2ZkOyB9XG4gIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5oZWFkZXJfYnV0dG9ucyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAubW9iaWxlLW9mZi1jYW52YXMtbWVudSAuaGVhZGVyX2J1dHRvbnMgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwOyB9XG4gIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IGxpIGEge1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUgLnNlYXJjaC1mb3JtIHtcbiAgICBtYXJnaW46IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDEyOTY7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUgLnNlYXJjaC1mb3JtIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgY29sb3I6ICNkNDEyOTY7IH1cbiAgICAubW9iaWxlLW9mZi1jYW52YXMtbWVudSAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5zZWFyY2gtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRpdGxlLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNlNWY3ZmQ7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudGl0bGUtYmFyIC5tZW51LWljb24gaSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG4gIC50aXRsZS1iYXIgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aXRsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgICBib2R5LmxvZ2dlZC1pbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9IH1cblxuLmF1dG8sIFtjbGFzcyo9Jy1hdXRvJ10sIC5zaHJpbmsge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuaDMsIGg0LCBoNSwgaDYsIC5oMywgLmg0LCAuZm9ybS1zZWN0aW9uLWhlYWRlciwgLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LXRlbXAsIC5oNSwgLm9vZC13cC1hbGVydC1lcnJvciwgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAudGVtcGxhdGUtbmFtZSwgLmg2LCAuZm9ybS1zZWN0aW9uLXN1YmhlYWRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaDUsIGg2LCAuaDUsIC5vb2Qtd3AtYWxlcnQtZXJyb3IsIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEgLnRlbXBsYXRlLW5hbWUsIC5oNiwgLmZvcm0tc2VjdGlvbi1zdWJoZWFkZXIge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5oMSwgaDQsIGg2LCAuaDEsIC5oNCwgLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wLCAuaDYsIC5mb3JtLXNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cbiAgaDEgYSwgaDQgYSwgaDYgYSwgLmgxIGEsIC5oNCBhLCAuZm9ybS1zZWN0aW9uLWhlYWRlciBhLCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dCBhLCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wIGEsIC5oNiBhLCAuZm9ybS1zZWN0aW9uLXN1YmhlYWRlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuXG5hIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspOyB9XG4gIGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTsgfVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tdWx0aXBsZS1jb2x1bW5zIC5zaW5nbGUtY29sdW1uIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cblxucC50aWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ubWRjLXRleHQtZmllbGQtLW11bHRpbGluZSB7XG4gIGhlaWdodDogMjAwcHg7IH1cbiAgLm1kYy10ZXh0LWZpZWxkLS1tdWx0aWxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgYm90dG9tOiBjYWxjKDEwMCUgLSAzNXB4KTsgfVxuICAubWRjLXRleHQtZmllbGQtLW11bHRpbGluZTpub3QoLm1kYy10ZXh0LWZpZWxkLS1tdWx0aWxpbmUtYXV0bykgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgYm90dG9tOiBjYWxjKDEwMCUgLSAzOXB4KTsgfVxuICAubWRjLXRleHQtZmllbGQtLW11bHRpbGluZS5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lLXNtYWxsIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gIC5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lLm1kYy10ZXh0LWZpZWxkLS1tdWx0aWxpbmUtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLm1kYy10ZXh0LWZpZWxkLS1tdWx0aWxpbmUubWRjLXRleHQtZmllbGQtLW11bHRpbGluZS1hdXRvIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGhlaWdodDogNTZweDsgfVxuXG4uc2l0ZS1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaXRlLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5mb3JtLXNlY3Rpb24tbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mb3JtLXNlY3Rpb24taGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZm9ybS1zZWN0aW9uLWhlYWRlci50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuZm9ybS1zZWN0aW9uLWhlYWRlci50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5kYXJrIGgxLCAuZGFyayBoMiwgLmRhcmsgaDMsIC5kYXJrIGg0LCAuZGFyayBoNSwgLmRhcmsgaDYgLmgxLCAuZGFyayAuaDIsIC5kYXJrIC5oMywgLmRhcmsgLmg0LCAuZGFyayAuZm9ybS1zZWN0aW9uLWhlYWRlciwgLmRhcmsgLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5kYXJrIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAuZGFyayAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wLCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAuZGFyayAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wLCAuZGFyayAuaDUsIC5kYXJrIC5vb2Qtd3AtYWxlcnQtZXJyb3IsIC5kYXJrIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEgLnRlbXBsYXRlLW5hbWUsIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEgLmRhcmsgLnRlbXBsYXRlLW5hbWUsIC5kYXJrIC5oNiwgLmRhcmsgLmZvcm0tc2VjdGlvbi1zdWJoZWFkZXIge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4jaGtiIG9sLmhrYi1icmVhZGNydW1icyB7XG4gIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmNlbGwtbGluZS1icmVhayB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ncmlkLWxlc3MtcGFkZGluZy14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuICAuZ3JpZC1sZXNzLXBhZGRpbmcteCAuY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG5cbi5mb3JtLXNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cblxuLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV9wcm9ncmVzc19iYXIge1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV9wcm9ncmVzc19iYXIgLmZpbGVfcHJvZ3Jlc3NfaW5uZXIge1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjsgfVxuICAgICAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmZpbGVfcHJvZ3Jlc3NfYmFyIC5maWxlX3Byb2dyZXNzX2lubmVyIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cbiAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmZpbGVfbWVzc2FnZWJsb2NrX2hlYWRlcl90ZCB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV9tZXNzYWdlYmxvY2tfaGVhZGVyX3RkIC5maWxlX21lc3NhZ2VibG9ja19oZWFkZXIge1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NiAhaW1wb3J0YW50OyB9XG4gICAgICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV9tZXNzYWdlYmxvY2tfaGVhZGVyX3RkIC5maWxlX21lc3NhZ2VibG9ja19oZWFkZXIgLmZpbGVfbWVzc2FnZWJsb2NrX2hlYWRlcl9sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmZpbGVfbWVzc2FnZWJsb2NrX2ZpbGVoZWFkZXJfdGQge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmZpbGVfbWVzc2FnZWJsb2NrX2ZpbGVoZWFkZXJfdGQgLmZpbGVfbWVzc2FnZWJsb2NrX2ZpbGVoZWFkZXIge1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV9tZXNzYWdlYmxvY2tfZmlsZWhlYWRlcl90ZCAuZmlsZV9tZXNzYWdlYmxvY2tfZmlsZWhlYWRlciAuZmlsZV9tZXNzYWdlYmxvY2tfZmlsZWhlYWRlcl9sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgI3dvcmRwcmVzc19maWxlX3VwbG9hZF90ZXh0Ym94XzEgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgdGhlYWQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIHRib2R5LCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciB0Zm9vdCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5maWxlX3RhYmxlX2NsZWFuLnVzZXItbWV0YS1maWVsZHMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGRpdi5maWxlX2Rpdl9jbGVhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLmZpbGVfdXNlcmRhdGFfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5maWxlX3VzZXJkYXRhX2NvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5maWxlX3VzZXJkYXRhX2NvbnRhaW5lciAuZmlsZV91c2VyZGF0YV9sYWJlbDphZnRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07IH1cbiAgICAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAuZmlsZV91c2VyZGF0YV9jb250YWluZXIgLmZpbGVfdXNlcmRhdGFfaGludF9pbmxpbmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGRpdi5maWxlX3VzZXJkYXRhX2ZpZWxkd3JhcHBlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgZGl2LmZpbGVfdXNlcmRhdGFfZmllbGR3cmFwcGVyX3JlcXVpcmVkLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBkaXYuZmlsZV91c2VyZGF0YV9maWVsZHdyYXBwZXJfcmVxdWlyZWRfZW1wdHkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGxhYmVsLmZpbGVfbWVzc2FnZWJsb2NrX2ZpbGVoZWFkZXJfbGFiZWwsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGxhYmVsLmZpbGVfbWVzc2FnZWJsb2NrX2hlYWRlcl9sYWJlbCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogMC44cmVtOyB9XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIuZXZlbi1yb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ci5vZGQtcm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ci5vZGQtcm93ICsgdHIub2RkLXJvdyB0aCwgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyLm9kZC1yb3cgKyB0ci5vZGQtcm93IHRkLCB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIuZXZlbi1yb3cgKyB0ci5ldmVuLXJvdyB0aCwgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyLmV2ZW4tcm93ICsgdHIuZXZlbi1yb3cgdGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxudGFibGUubm8td3JhcC1oZWFkZXIgdGhlYWQgdGgsIHRhYmxlLm5vLXdyYXAtaGVhZGVyIHRoZWFkIHRkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG50YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdGgsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyB9XG4gIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyIHRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ciB0aDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgY29udGVudDogXCJcXGYwNTVcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspOyB9XG4gIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyIHRoLmhpZGUtZm9yLWNvbGxhcHNlLCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ciB0aCAuaGlkZS1mb3ItY29sbGFwc2UsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyIHRkLmhpZGUtZm9yLWNvbGxhcHNlLCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ciB0ZCAuaGlkZS1mb3ItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyIHRoLnNob3ctZm9yLWNvbGxhcHNlLCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ciB0aCAuc2hvdy1mb3ItY29sbGFwc2UsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyIHRkLnNob3ctZm9yLWNvbGxhcHNlLCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ciB0ZCAuc2hvdy1mb3ItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUucmVzcG9uc2l2ZS10YWJsZS5jb2xsYXBzZWQgdGJvZHkgdHIucGFyZW50IHRoOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgdGFibGUucmVzcG9uc2l2ZS10YWJsZS5jb2xsYXBzZWQgdGJvZHkgdHIuY2hpbGQgdGQuY2hpbGQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC43NXJlbTsgfVxuICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyLmNoaWxkIHRkLmNoaWxkIHVsIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gICAgICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLmNvbGxhcHNlZCB0Ym9keSB0ci5jaGlsZCB0ZC5jaGlsZCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgdGFibGUucmVzcG9uc2l2ZS10YWJsZS5jb2xsYXBzZWQgdGJvZHkgdHIuY2hpbGQgdGQuY2hpbGQgdWwgbGkgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUuY29sbGFwc2VkIHRib2R5IHRyLmNoaWxkIHRkLmNoaWxkIHVsIGxpIC5kdHItdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4jZGVidWdtb2Rlb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC41cmVtO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuI3NlYXJjaC1vcmRlci1idXR0b24ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAjc2VhcmNoLW9yZGVyLWJ1dHRvbiAuc2VhcmNoLXRlcm1zIHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgb3JkZXI6IDEwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICM5MjkyOTI7XG4gICAgZm9udC1mYW1pbHk6IFwiS2FybGFcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3NlYXJjaC1vcmRlci1idXR0b24gLnNlYXJjaC10ZXJtcyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICBvcmRlcjogMDsgfSB9XG5cbmZvb3Rlci5zaXRlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGNvbG9yOiAjNjY2NjY2OyB9XG4gIGZvb3Rlci5zaXRlLWZvb3RlciBoNCB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgZm9vdGVyLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbiAwLjJzIGVhc2U7IH1cbiAgZm9vdGVyLnNpdGUtZm9vdGVyIC5pcy1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogIzY2NjY2NjsgfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciBpbWcge1xuICAgIG1heC13aWR0aDogMjByZW07XG4gICAgbWF4LWhlaWdodDogN3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuZm9vdGVyLW1lbnVzLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uOmhvdmVyOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlcjpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLCAuYnV0dG9uOmZvY3VzOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpmb2N1czpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdOmhvdmVyIHtcbiAgY29sb3I6ICNkNDEyOTYgIWltcG9ydGFudDsgfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2Q0MTI5NjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uYnV0dG9uLmRlZmF1bHQsIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0LmRlZmF1bHRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZGMtYnV0dG9uLCAuYnV0dG9uLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAubWRjLWJ1dHRvbiAudGhlbWUtaWNvbiwgLmJ1dHRvbiAudGhlbWUtaWNvbiwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSAudGhlbWUtaWNvbiwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIC50aGVtZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogOHB4OyB9XG4gICAgLm1kYy1idXR0b24gLnRoZW1lLWljb24gc3ZnLCAuYnV0dG9uIC50aGVtZS1pY29uIHN2ZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSAudGhlbWUtaWNvbiBzdmcsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSAudGhlbWUtaWNvbiBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAubWRjLWJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLm1kYy1idXR0b24ubWRjLWJ1dHRvbi0tZGVuc2UsIC5tZGMtYnV0dG9uLS1kZW5zZS5idXR0b24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Lm1kYy1idXR0b24tLWRlbnNlW3R5cGU9XCJidXR0b25cIl0sIC52ZXJzaW9uLWZvcm0gLm1kYy1idXR0b24tLWRlbnNlLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGhlaWdodDogMzVweDsgfVxuXG4ubWRjLWJ1dHRvbiBpbWcsIC5idXR0b24gaW1nLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIGltZywgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIGltZyB7XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG4ubWRjLWJ1dHRvbiBzdmcsIC5idXR0b24gc3ZnLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHN2ZywgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHN2ZyB7XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZpbGw6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAubWRjLWJ1dHRvbiBzdmcgKiwgLmJ1dHRvbiBzdmcgKiwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSBzdmcgKiwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHN2ZyAqIHtcbiAgICBmaWxsOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLm1kYy1idXR0b24gLmJ1dHRvbi1pY29uLXRyYWlsaW5nLCAuYnV0dG9uIC5idXR0b24taWNvbi10cmFpbGluZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSAuYnV0dG9uLWljb24tdHJhaWxpbmcsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSAuYnV0dG9uLWljb24tdHJhaWxpbmcge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1idXR0b24tLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMCA4cHggMCA4cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxLjVyZW07IH1cbiAgLm1kYy1idXR0b24tLXdoaXRlIGkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWRhcmspO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdGV4dC1pbmRlbnQ6IDJweDsgfVxuICAubWRjLWJ1dHRvbi0td2hpdGUgaS5idXR0b24taWNvbi1zdGFuZGFsb25lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1kYy1idXR0b24tLXdoaXRlIGkuYnV0dG9uLXRoZW1lLWljb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG4gICAgLm1kYy1idXR0b24tLXdoaXRlIGkuYnV0dG9uLXRoZW1lLWljb24gc3ZnIHtcbiAgICAgIGZpbGw6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1kYy1idXR0b24tLXdoaXRlIGkuYnV0dG9uLWRhcmstdGhlbWUtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspOyB9XG4gICAgLm1kYy1idXR0b24tLXdoaXRlIGkuYnV0dG9uLWRhcmstdGhlbWUtaWNvbiBzdmcge1xuICAgICAgZmlsbDogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1kYy1idXR0b24tLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLm1kYy1idXR0b24ubWRjLWJ1dHRvbi0tZXh0ZW5kZWQsIC5idXR0b24sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC52ZXJzaW9uLWZvcm0gLm1kYy1idXR0b24tLWV4dGVuZGVkLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLmJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLm1kYy1idXR0b24ubWRjLWJ1dHRvbi0tZXh0ZW5kZWQgc3ZnLCAuYnV0dG9uIHN2ZywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSBzdmcsIC52ZXJzaW9uLWZvcm0gLm1kYy1idXR0b24tLWV4dGVuZGVkLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSBzdmcsIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbS5idXR0b24gc3ZnIHtcbiAgICBmaWxsOiAjZmVmZWZlOyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWV4dGVuZGVkOmhvdmVyLCAuYnV0dG9uOmhvdmVyLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5tZGMtYnV0dG9uLS1leHRlbmRlZC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWV4dGVuZGVkLmRlZmF1bHQsIC5kZWZhdWx0LmJ1dHRvbiwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuZGVmYXVsdFt0eXBlPVwiYnV0dG9uXCJdLCAudmVyc2lvbi1mb3JtIC5tZGMtYnV0dG9uLS1leHRlbmRlZC5kZWZhdWx0Lm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggMHB4IDBweCAjNjY2NjY2ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxuICAgIC5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWV4dGVuZGVkLmRlZmF1bHQgc3ZnLCAuZGVmYXVsdC5idXR0b24gc3ZnLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dC5kZWZhdWx0W3R5cGU9XCJidXR0b25cIl0gc3ZnLCAudmVyc2lvbi1mb3JtIC5tZGMtYnV0dG9uLS1leHRlbmRlZC5kZWZhdWx0Lm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSBzdmcsIC52ZXJzaW9uLWZvcm0gLmRlZmF1bHQub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLmJ1dHRvbiBzdmcge1xuICAgICAgZmlsbDogIzMzMzsgfVxuXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQubWRjLWJ1dHRvbi0tdGhlbWUsIC52ZXJzaW9uLWZvcm0gLm1kYy1idXR0b24tLXRoZW1lLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSkgIWltcG9ydGFudDsgfVxuICAubWRjLWJ1dHRvbi0tb3V0bGluZWQubWRjLWJ1dHRvbi0tdGhlbWUgc3ZnLCAudmVyc2lvbi1mb3JtIC5tZGMtYnV0dG9uLS10aGVtZS5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0gc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCwgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBib3JkZXItd2lkdGg6IDFweDsgfVxuXG4uYnV0dG9uLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgcGFkZGluZzogMC42NXJlbSAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1kYy13aGl0ZS1maWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggNXB4IDBweCAwcHggdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtZGFyayk7IH1cbiAgLm1kYy13aGl0ZS1maWxsZWRbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7IH1cbiAgLm1kYy13aGl0ZS1maWxsZWQgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5tZGMtd2hpdGUtaG9sbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTsgfVxuICAubWRjLXdoaXRlLWhvbGxvdzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG4gIC5tZGMtd2hpdGUtaG9sbG93IHN2ZyB7XG4gICAgZmlsbDogI2Q0MTI5NjtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDEuMnJlbTsgfVxuXG4ubWRjLWJ1dHRvbi0tbGFyZ2UtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC45NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDFyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMzMzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IH1cbiAgLm1kYy1idXR0b24tLXJhaXNlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZThmNiAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ2Zvcm1fZm9vdGVyIC5tZGMtYnV0dG9uLS1yYWlzZWQge1xuICAgIG1hcmdpbjogMi41cmVtIC0ycmVtIDAgMCAhaW1wb3J0YW50OyB9IH1cblxuLmJ1dHRvbi5hY3Rpb25zLWJ1dHRvbiwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQuYWN0aW9ucy1idXR0b25bdHlwZT1cImJ1dHRvblwiXSB7XG4gIHBhZGRpbmc6IDEwcHggMTJweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IGF1dG87IH1cblxuLmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuXG4ud2MtYmFja3dhcmQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDQxMjk2OyB9XG4gIC53Yy1iYWNrd2FyZDpob3ZlciB7XG4gICAgY29sb3I6ICNkNDEyOTY7IH1cblxuLmNhcmRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLmNhcmRzLWNvbnRhaW5lciAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLmNhcmRzLWNvbnRhaW5lciAuY2FyZCAuY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhcmRzLWNvbnRhaW5lciAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuN3JlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzVyZW07IH0gfVxuXG4ucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMgaDIge1xuICAgIGNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7IH1cblxuLmRvdHRlZCwgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBtYXJnaW46IDJyZW0gMDsgfVxuXG5ociB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNkNDEyOTY7XG4gIHdpZHRoOiA0cmVtO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2OyB9XG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5hd2Vzb21wbGV0ZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuYXdlc29tcGxldGUgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDVweCAwcHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpO1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmF3ZXNvbXBsZXRlIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmF3ZXNvbXBsZXRlIHVsIGxpIG1hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5hd2Vzb21wbGV0ZSB1bCBsaTpob3ZlciwgLmF3ZXNvbXBsZXRlIHVsIGxpW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICAuYXdlc29tcGxldGUgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgZmllbGRzZXQgaW5wdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MTI5NjsgfVxuXG4uZ2Zvcm1fZm9vdGVyIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9yaWdodC1hcnJvdy5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICBwYWRkaW5nOiAwLjc1cmVtIDIuN3JlbSAwLjc1cmVtIDAuNzVyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuNTsgfVxuXG4uZ2lucHV0X2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMC41cmVtIDA7IH1cbiAgLmdpbnB1dF9jb250YWluZXIgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuaW5wdXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0OyB9XG5cbi5tZGMtdGV4dC1maWVsZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xLjI1cmVtOyB9XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5pbnN0cnVjdGlvbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZWRpYS1vYmplY3QgZm9ybSAuZ2Zvcm0tYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBhZGRpbmc6IDJyZW0gMnJlbSAxcmVtIDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5tZWRpYS1vYmplY3QgZm9ybSAuZ2Zvcm0tYm9keSBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgcGFkZGluZzogMC43cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpYS1vYmplY3QgZm9ybSAuZ2Zvcm0tYm9keSB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjdyZW07IH1cblxuLm1lZGlhLW9iamVjdCBmb3JtIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZWRpYS1vYmplY3QgZm9ybSBsaSAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkNDEyOTY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZWRpYS1vYmplY3QgZm9ybSBsaSAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAwLjVyZW07IH0gfVxuXG4ubWVkaWEtb2JqZWN0IGZvcm0gW3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzMzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cbiAgLm1lZGlhLW9iamVjdCBmb3JtIFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMiwgMTgsIDE1MCwgMC4xKTtcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG4gIC5tZWRpYS1vYmplY3QgZm9ybSBbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTIsIDE4LCAxNTAsIDAuMSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZWRpYS1vYmplY3QgZm9ybSBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC41NCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV90aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaGlkZGVuX2xhYmVsID4gbGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZm9ybV9maWVsZHMge1xuICBtYXJnaW46IDA7IH1cblxubGkuZ2ZpZWxkLCAuZ2Zvcm1fZmllbGRzID4gbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLm9vZC13cC1maWxlLXByZXZpZXdzIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwLjVyZW0gMDsgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSArIC5vb2Qtd3AtZmllbGQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudHdvLWNvbHVtbl93cmFwcGVyIHVsLm9uZS1oYWxmLCAuZ2Zvcm1fd3JhcHBlciB1bC5vbmUtdGhpcmQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgLyogcmVtb3ZlICFpbXBvcnRhbnQgaWYgaXQncyBub3QgbmVlZGVkICovXG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8zIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLCAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIgdWwuZ2Zvcm1fY29sdW1uIGxpLmdzZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5nZm9ybV93cmFwcGVyLnR3by1jb2x1bW5fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMuZ2Zvcm1fY29sdW1uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIgdWwub25lLWhhbGYge1xuICAgIG1hcmdpbi1sZWZ0OiA0JSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0OCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIudHdvLWNvbHVtbl93cmFwcGVyIHVsLm9uZS10aGlyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIgdWwuZmlyc3Qub25lLWhhbGYsIC5nZm9ybV93cmFwcGVyLnR3by1jb2x1bW5fd3JhcHBlciB1bC5maXJzdC5vbmUtdGhpcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgI2lucHV0XzNfMixcbiAgI2lucHV0XzNfMyxcbiAgI2lucHV0XzNfNCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIGxpLmdzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4uZ2Zvcm1fYm9keSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmdmb3JtX2Zvb3RlciB7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5nZm9ybV9mb290ZXIgLmdmb3JtLXN1Ym1pdC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgbWFyZ2luOiAxcmVtIC0xLjYyNXJlbSAtMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybS1zdWJtaXQtZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIC0xLjkzNzVyZW0gLTFyZW07IH0gfVxuXG4uZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguc2hvcnQsIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguYmFkLCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLm1pc21hdGNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1saWdodCk7IH1cbiAgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5nb29kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG4gIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguc3Ryb25nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTsgfVxuXG4ubWRjLXNlbGVjdCBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tY29udGVudCAuZm9ybS1zZWN0aW9ucyB7XG4gIG1hcmdpbjogMCAzcmVtIDAgMDsgfVxuICAuZm9ybS1jb250ZW50IC5mb3JtLXNlY3Rpb25zIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjlyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyLjJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5mb3JtLWNvbnRlbnQgLmZvcm0tc2VjdGlvbnMgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAhaW1wb3J0YW50OyB9IH1cbiAgLmZvcm0tY29udGVudCAuZm9ybS1zZWN0aW9ucyA+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIC5mb3JtLWNvbnRlbnQgLmZvcm0tc2VjdGlvbnMgPiAuY2VsbDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZDQxMjk2O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuZm9ybS1jb250ZW50IC5mb3JtLXNlY3Rpb25zID4gLmNlbGw6Zmlyc3QtY2hpbGQgLmZvcm0tc2VjdGlvbi1udW1iZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNkNDEyOTYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnS2FybGEnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICB3aWR0aDogNDhweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZm9ybS1jb250ZW50IC5mb3JtLXNlY3Rpb25zID4gLmNlbGw6Zmlyc3QtY2hpbGQgLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tY29udGVudCAuZm9ybS1zZWN0aW9ucyA+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLmZvcm0tY29udGVudCAuZm9ybS1zZWN0aW9ucyAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1jb250ZW50IC5mb3JtLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZvcm0tY29udGVudCAuZm9ybS1mb290ZXIgLm1kYy1idXR0b24sIC5mb3JtLWNvbnRlbnQgLmZvcm0tZm9vdGVyIC5idXR0b24sIC5mb3JtLWNvbnRlbnQgLmZvcm0tZm9vdGVyIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5mb3JtLWNvbnRlbnQgLmZvcm0tZm9vdGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5mb3JtLWNvbnRlbnQgLmZvcm0tZm9vdGVyIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAuZm9ybS1jb250ZW50IC5mb3JtLWZvb3RlciAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfSB9XG5cbi5mb3JtLWNvbnRlbnQgLmZvcm0tZ3JvdXAgcCB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZm9ybS1jb250ZW50IC5ncmlkLWxlc3MtcGFkZGluZy14IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mb3JtLWNvbnRlbnQgLmFyZWEtY29udGFpbmVyIHtcbiAgbGluZS1oZWlnaHQ6IDJyZW07IH1cblxuLmZvcm0tcHJvZHVjdCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLmZvcm0tcHJvZHVjdCAucHJvZHVjdC1saW5rIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0tcHJvZHVjdCAucHJvZHVjdC1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwZWMnO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5wcm9kdWN0LWZvcm0tbGF5b3V0IGltZyB7XG4gICAgbWF4LWhlaWdodDogMTVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUgLmZvcm0tc2VjdGlvbnMge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgLmhvbWUgLmZvcm0tc2VjdGlvbnMgPiAuY2VsbDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgbWFyZ2luOiAwIDJyZW07IH0gfVxuXG5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5tZGMtcmFkaW8gbGFiZWwge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5tZGMtdGV4dC1maWVsZCwgLm1kYy1zZWxlY3Qge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYnV0dG9uLXJhZGlvLWZpZWxkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uLXJhZGlvLWZpZWxkICsgLmJ1dHRvbi1yYWRpby1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgNnB4IDAgNnB4OyB9XG5cbi5idXR0b24tcmFkaW8tZmllbGQ6bm90KDpjaGVja2VkKSArIC5idXR0b24tcmFkaW8tbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkMmQyOyB9XG5cbi5idXR0b24tcmFkaW8tZmllbGQ6Y2hlY2tlZCArIC5idXR0b24tcmFkaW8tbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGV4dC1maWxlLXVwbG9hZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0zcmVtOyB9XG4gIC50ZXh0LWZpbGUtdXBsb2FkZXIgLnRleHQtZmlsZS1wcmV2aWV3cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnRleHQtZmlsZS11cGxvYWRlciAudGV4dC1maWxlLXByZXZpZXdzIC50ZXh0LWZpbGUtcHJldmlldyB7XG4gICAgICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG5cbi5tZGMtZm9ybS1maWVsZCB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5mb3JtLWVycm9yLCAub29kLXdwLWZvcm0tZXJyb3Ige1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNkNjRiMTM7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4OyB9XG5cbi5tZGMtY2hlY2tib3gge1xuICBwYWRkaW5nOiA3cHg7IH1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIHRvcDogN3B4O1xuICBsZWZ0OiA3cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7IH1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciwgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMThweDsgfVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlcGVhdGVyLm9yZGVyLWl0ZW0tam9icyA+IGxpIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9ybS1yZXBlYXRlci5vcmRlci1pdGVtLWpvYnMgPiBsaSAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbnVsLmZvcm0tcmVwZWF0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICB1bC5mb3JtLXJlcGVhdGVyID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cbiAgICB1bC5mb3JtLXJlcGVhdGVyID4gbGkgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICB1bC5mb3JtLXJlcGVhdGVyID4gbGkgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDsgfVxuICAgICAgdWwuZm9ybS1yZXBlYXRlciA+IGxpIC5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW0gc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBmaWxsOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGVhc2U7IH1cbiAgICAgICAgdWwuZm9ybS1yZXBlYXRlciA+IGxpIC5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW0gc3ZnICoge1xuICAgICAgICAgIGZpbGw6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgICAgdWwuZm9ybS1yZXBlYXRlciA+IGxpIC5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW06aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tdGhlbWUtbGlnaHQpOyB9XG4gIHVsLmZvcm0tcmVwZWF0ZXIgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgdWwuZm9ybS1yZXBlYXRlciA+IGxpOmZpcnN0LWNoaWxkIC5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2Q2NGIxMzsgfVxuICAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIC5vb2Qtd3AtZGVsZXRlLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTsgfVxuICAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtOmhvdmVyIHtcbiAgICBjb2xvcjogIzc4MmEwYiAhaW1wb3J0YW50OyB9XG5cbi5vb2Qtd3AtZGVsZXRlLWNvbnRlbnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7IH1cblxuLm1kYy1zZWFyY2gtc2VsZWN0Lm1kYy1zZWFyY2gtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAuZHJvcGRvd246bm90KC5pY29uKSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QubWRjLXNlYXJjaC1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5kcm9wZG93bjpub3QoLmljb24pIGlucHV0LnNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWRjLXNlYXJjaC1zZWxlY3QubWRjLXNlYXJjaC1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VhcmNoLXNlbGVjdF9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiBjYWxjKDEwMCUgLSAzOXB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAxNnB4OyB9XG5cbi5tZGMtc2VhcmNoLXNlbGVjdC5tZGMtc2VhcmNoLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGxlZnQ6IDQ4cHg7IH1cblxuLm1kYy1zZWFyY2gtc2VsZWN0Lm1kYy1zZWFyY2gtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAuc2l6ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZGMtc2VhcmNoLXNlbGVjdCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsZWZ0OiAxMnB4O1xuICBib3R0b206IGNhbGMoMTAwJSAtIDM1cHgpO1xuICByaWdodDogaW5pdGlhbDsgfVxuXG4ubWRjLXNlYXJjaC1zZWxlY3QgLnNpemVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBwYWRkaW5nOiAyMHB4IDEycHggNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDU0cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5zaXplciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLmRyb3Bkb3duLmljb24ge1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTVweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICAgIGNvbG9yOiAjZDQxMjk2O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgaW5wdXQuc2VhcmNoIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMDkzN2VtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMTJweCA2cHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IDAgMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIGlucHV0LnNlYXJjaDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgaW5wdXQuc2VhcmNoOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiOyB9XG4gICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pLmFjdGl2ZSAuZHJvd2Rvd24uaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjM2MjAwZWUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgaW5wdXQgfiAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMDkzN2VtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzUgIWltcG9ydGFudDsgfVxuICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC41KSAwIDEwcHggMTVweCAtNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbSB7XG4gICAgICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgICAgIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAgICAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAgICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtOjpiZWZvcmUsIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpOyB9XG4gICAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gICAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogMjI1bXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gZm9yd2FyZHMsIDc1bXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIGZvcndhcmRzOyB9XG4gICAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiAxNTBtcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbTo6YmVmb3JlLCAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gICAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgICBoZWlnaHQ6IDIwMCU7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbTo6YmVmb3JlLCAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjA0OyB9XG4gICAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgICAgICBvcGFjaXR5OiAwLjEyOyB9XG4gICAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgICAgIG9wYWNpdHk6IDAuMTY7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAgICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTY7IH1cbiAgICAgIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAuaXRlbTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtLmZpbHRlcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pIC5tZW51IC5pdGVtLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duOm5vdCguaWNvbikgLm1lbnUgLml0ZW0sIC5tZGMtc2VhcmNoLXNlbGVjdCAuZHJvcGRvd246bm90KC5pY29uKSAubWVudSAubWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDA5MzdlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pLm11bHRpcGxlIC5tZW51IC5pdGVtLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7IH1cbiAgLm1kYy1zZWFyY2gtc2VsZWN0IC5kcm9wZG93bjpub3QoLmljb24pOm5vdCgubXVsdGlwbGUpIC5tZW51IC5pdGVtLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG5cbi5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODE1OSwgMTM5LCAxMzklMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07IH1cbiAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAuZHJvcGRvd24uaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIHNlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkgLm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNSkgMCAxMHB4IDE1cHggLTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtIHtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAgICAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gICAgICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAgICAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAgICAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gICAgICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbTo6YmVmb3JlLCAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApOyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IDIyNW1zIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGZvcndhcmRzLCA3NW1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiBmb3J3YXJkczsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IDE1MG1zIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbTo6YmVmb3JlLCAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtOjphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgaGVpZ2h0OiAyMDAlOyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbTo6YmVmb3JlLCAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkgLm1lbnUgLml0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMDQ7IH1cbiAgICAgIC5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkgLm1lbnUgLml0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlLCAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgICAgICAgb3BhY2l0eTogMC4xMjsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gICAgICAgIG9wYWNpdHk6IDAuMTY7IH1cbiAgICAgIC5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkgLm1lbnUgLml0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjE2OyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZHJvcGRvd24udWk6bm90KC5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQpIC5tZW51IC5pdGVtLmZpbHRlcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbS5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAuaXRlbSwgLmRyb3Bkb3duLnVpOm5vdCgubWRjLXNlYXJjaC1zZWxlY3RfX2lucHV0KSAubWVudSAubWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDA5MzdlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1kYy10ZXh0LWZpZWxkIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pICFpbXBvcnRhbnQ7IH1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5tZGMtc2VhcmNoLXNlbGVjdCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLm1kYy1zZWFyY2gtc2VsZWN0Om5vdCgubnVsbC1zZWxlY3RlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTsgfVxuXG4ubWRjLXNlYXJjaC1zZWxlY3QgLmRyb3Bkb3duLmFjdGl2ZSArIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5zaWJsaW5nLWZvcm0tZ3JvdXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAuc2libGluZy1mb3JtLWdyb3VwcyA+IGRpdiB7XG4gICAgZmxleDogMTsgfVxuICAuc2libGluZy1mb3JtLWdyb3VwcyA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxuICAuc2libGluZy1mb3JtLWdyb3VwcyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogNHB4OyB9XG4gIC5zaWJsaW5nLWZvcm0tZ3JvdXBzIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZhY2V0d3AtYnRuIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAuZmFjZXR3cC1idG46YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjsgfVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mYWNldHdwLWZhY2V0LmZhY2V0d3AtdHlwZS1mc2VsZWN0IC5mcy1kcm9wZG93biB7XG4gICAgd2lkdGg6IDM1MHB4OyB9IH1cblxuLmZhY2V0d3AtZmFjZXQgLmZzLW9wdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbi5mYWNldHdwLWZhY2V0IC5mcy1vcHRpb25zIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi5mYWNldHdwLWZhY2V0IC5mcy13cmFwLm11bHRpcGxlIC5mcy1vcHRpb24uc2VsZWN0ZWQgLmZzLWNoZWNrYm94IGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi5yZXZlYWwtaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7IH1cbiAgLnJldmVhbC1oZWFkZXIucmV2ZWFsLWhlYWRlci1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNWI0YTsgfVxuXG4ucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dCwgLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQtdGVtcCB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gOHJlbSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZlZmVmZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4ucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dC1idXR0b24ge1xuICB3aWR0aDogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNlYmViZWI7IH1cblxuLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfVxuXG4ucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAucmV2ZWFsLWhlYWRlci1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuLnJldmVhbC1oZWFkZXItaW5wdXQtbGFiZWwgLnJldmVhbC1oZWFkZXItaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0OmZvY3VzICsgLnJldmVhbC1oZWFkZXItaW5wdXQtYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5yZXZlYWwtaGVhZGVyLWlucHV0LXRlbXAge1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEwMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5yZXZlYWwtaGVhZGVyLWlucHV0LWxhYmVsIC5mb3JtLWVycm9yLCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAub29kLXdwLWZvcm0tZXJyb3Ige1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAuZm9ybS1lcnJvcjo6YmVmb3JlLCAucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCAub29kLXdwLWZvcm0tZXJyb3I6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJFUlJPUjogXCI7IH1cblxuLm9vZC13cC1hbGVydC1lcnJvciB7XG4gIGNvbG9yOiAjZDY0YjEzOyB9XG5cbi5kYXRlcGlja2VyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsgfVxuICAuZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci0tbmF2LXRpdGxlLCAuZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci0tZGF5LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBLYXJsYSxzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cbiAgLmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItLWRheS1uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7IH1cbiAgLmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLSwgLmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLS4tY3VycmVudC0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci0tY2VsbC4tY3VycmVudC0ge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1saWdodCk7IH1cblxuLm1kYy1idXR0b24tLWV4dGVuZGVkLCAuYnV0dG9uLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAubWRjLXdoaXRlLWZpbGxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlOyB9XG4gIC5tZGMtYnV0dG9uLS1leHRlbmRlZDphY3RpdmUsIC5idXR0b246YWN0aXZlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDphY3RpdmVbdHlwZT1cImJ1dHRvblwiXSwgLm1kYy13aGl0ZS1maWxsZWQ6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAwIDAgdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgICB0b3A6IDNweDsgfVxuXG4uZGlzYWJsZWQgbGFiZWwge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgfVxuXG4uZGlzYWJsZWQgLm1kYy1jaGVja2JveCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC50aGVtZS1pY29uIHtcbiAgY29sb3I6ICNkNjRiMTM7IH1cbiAgLm9vZC13cC1lcnJvci1mb3JtLWdyb3VwIC50aGVtZS1pY29uIHN2ZyB7XG4gICAgZmlsbDogI2Q2NGIxMzsgfVxuXG4ub29kLXdwLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ub29kLXdwLWZpbGUtcHJldmlldyBmaWd1cmUub29kLXdwLWxvYWRlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxNnJlbTtcbiAgaGVpZ2h0OiAxMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm9vZC13cC1maWxlLXByZXZpZXcgZmlndXJlLm9vZC13cC1sb2FkZWQ6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2U7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIC5vb2Qtd3AtZmlsZS1wcmV2aWV3IGZpZ3VyZS5vb2Qtd3AtbG9hZGVkIGltZywgLm9vZC13cC1maWxlLXByZXZpZXcgZmlndXJlLm9vZC13cC1sb2FkZWQgb2JqZWN0IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAub29kLXdwLWZpbGUtcHJldmlldyBmaWd1cmUub29kLXdwLWxvYWRlZCBmaWdjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgei1pbmRleDogMTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wcm9kdWN0LXRlbXBsYXRlLXJldmVhbCB7XG4gIHRvcDogMTAwcHggIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC10ZW1wbGF0ZS1yZXZlYWwgLm9vZC1sb2FkLWZvcm0tLWxvYWRpbmctY29udGFpbmVyLCAucHJvZHVjdC10ZW1wbGF0ZS1yZXZlYWwgLm9vZC1sb2FkLWZvcm0tLWVycm9yLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuXG5oZWFkZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIGhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIGkge1xuICAgIGNvbG9yOiAjZDQxMjk2O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBoZWFkZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBpOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7IH1cblxuaGVhZGVyIC5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICBoZWFkZXIgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1heC13aWR0aDogNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBoZWFkZXIgLmlucHV0LWdyb3VwOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuMnMgZWFzZTsgfVxuXG4ud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IGJ1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgcGFkZGluZzogMXJlbSAycmVtOyB9XG4gIC53b29jb21tZXJjZSAuY2FydC1jb250YWluZXIgLmNhcnQgLmNhcnQtcm93IHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAuZmllbGQtZ3JvdXAgaDUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgIC53b29jb21tZXJjZSAuY2FydC1jb250YWluZXIgLmNhcnQgLmNhcnQtcm93IC5maWVsZC1ncm91cCBoaWdobGlnaHQge1xuICAgICAgY29sb3I6ICNkNDEyOTY7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAuZmllbGQtZ3JvdXAgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAuZmllbGQtZ3JvdXAtaGVhZGluZyB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAuZ3JheS10b2dnbGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyBoMyB7XG4gICAgICBjb2xvcjogI2Q0MTI5NjtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMCAwIDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbnRhaW5lciAuY2FydCAuY2FydC1yb3cgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgIG1heC13aWR0aDogMTRyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAubWRjLXRleHQtZmllbGQgaW5wdXQge1xuICAgICAgICBjb2xvcjogI2Q0MTI5NjsgfVxuICAgICAgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbnRhaW5lciAuY2FydCAuY2FydC1yb3cgLm1kYy10ZXh0LWZpZWxkOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNkNDEyOTY7IH1cbiAgICAud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5jYXJ0IC5jYXJ0LXJvdyAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB1bnNldDsgfVxuXG4ud29vY29tbWVyY2UgLmNhcnQtY29udGFpbmVyIC5mb3JtLXNlY3Rpb25zLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC53b29jb21tZXJjZSAuY2FydC1jb250YWluZXIgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGgyIHtcbiAgICBjb2xvcjogI2Q0MTI5NjsgfVxuXG4ud29vY29tbWVyY2UgI3VwZGF0ZS1jYXJ0LWJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi53b29jb21tZXJjZSBidXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAxcmVtIDAgMCAhaW1wb3J0YW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLmNoZWNrb3V0LWJ1dHRvbnMgYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLmNhcnQtc3VidG90YWwgdGQge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAuY2FydC1zdWJ0b3RhbCB0aDo6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7IH1cblxuLndvb2NvbW1lcmNlIGkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5jYXJ0LXNoaXBwaW5nLWZvcm0ge1xuICBwYWRkaW5nOiAycmVtIDJyZW0gMCAwOyB9XG5cbi53b29jb21tZXJjZSAuY2hlY2tvdXQtZm9ybSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLmZvcm0tc2VjdGlvbi1oZWFkZXIge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi53b29jb21tZXJjZSAub3JkZXItdG90YWwge1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAud29vY29tbWVyY2UgLm9yZGVyLXRvdGFsIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLndvb2NvbW1lcmNlIC5vcmRlci10b3RhbCB0ZCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAud29vY29tbWVyY2UgLm9yZGVyLXRvdGFsIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLndvb2NvbW1lcmNlIC5vcmRlci10b3RhbCB0aDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG5cbi53b29jb21tZXJjZSAuc2hpcHBpbmcgdGQge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAuc2hpcHBpbmcgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC53b29jb21tZXJjZSAuc2hpcHBpbmcgdGg6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnOic7IH1cblxuLndvb2NvbW1lcmNlIC50YXgtcmF0ZSB0ZCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIC50YXgtcmF0ZSB0aDo6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7IH1cblxuLndvb2NvbW1lcmNlIC53Yy1jcmVkaXQtY2FyZC1mb3JtIC5mb3JtLXJvdyB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlIC53Yy1jcmVkaXQtY2FyZC1mb3JtIC5mb3JtLXJvdy1maXJzdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlIC53Yy1jcmVkaXQtY2FyZC1mb3JtIC5mb3JtLXJvdy1sYXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi53b29jb21tZXJjZSAud2MtY3JlZGl0LWNhcmQtZm9ybSAuZm9ybS1yb3ctd2lkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud29vY29tbWVyY2UgLndjLWNyZWRpdC1jYXJkLWZvcm0gLmZvcm0tcm93LXdpZGUge1xuICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC53b29jb21tZXJjZSAud2MtY3JlZGl0LWNhcmQtZm9ybSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4udmVydGljYWwtcnVsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Q0MTI5NjtcbiAgbWFyZ2luOiAwIC0ycmVtIDAgMnJlbTsgfVxuICAudmVydGljYWwtcnVsZSBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkNDEyOTY7XG4gICAgY29sb3I6ICNkNDEyOTY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLnZlcnRpY2FsLXJ1bGUtLWFsdCB7XG4gIG1hcmdpbjogMCAtMnJlbSAwIDJyZW07IH1cbiAgLnZlcnRpY2FsLXJ1bGUtLWFsdCBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkNDEyOTY7XG4gICAgY29sb3I6ICNkNDEyOTY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgZm9ybSBidXR0b24ge1xuICAgIG1hcmdpbjogMnJlbSAtMnJlbSAwIDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgZm9ybSAuZ2Zvcm1fZmllbGRzIGxpIHtcbiAgICBtYXJnaW46IDAgMC41cmVtOyB9XG4gIGZvcm0gLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLS13aWR0aC10aGlyZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0Ni43JTsgfVxuICBmb3JtIC5nZm9ybV9maWVsZHMgLmdmaWVsZC0td2lkdGgtdHdvLXRoaXJkcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA5NyU7IH1cbiAgZm9ybSAuZ2Zvcm1fZmllbGRzIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgbWF4LWhlaWdodDogOHJlbTsgfVxuICBmb3JtIC5nZm9ybV9maWVsZHMgLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgZm9ybSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQtLXdpZHRoLXRoaXJkIHtcbiAgICB3aWR0aDogMzAuNiU7IH1cbiAgZm9ybSAuZ2ZpZWxkLS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogNjMuOSUgIWltcG9ydGFudDsgfSB9XG5cbi5saXN0LW1lbnUgdWwubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0LW1lbnUgdWwubWVudSBsaSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlICsgMzJweCk7XG4gIG1hcmdpbjogMCAtMTZweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBjb2xvcjogIzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5tZGMtbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX3RleHQgaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDsgfVxuICAgIC5tZGMtbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX3RleHQgaSBzdmcge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgZmlsbDogIzMzMzsgfVxuXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSB7XG4gIHBhZGRpbmctdG9wOiA0cmVtOyB9XG5cbi50aGVtZS1pY29uIHtcbiAgaGVpZ2h0OiAxLjZyZW07XG4gIHdpZHRoOiAxLjZyZW07IH1cbiAgLnRoZW1lLWljb24gc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAudGhlbWUtaWNvbiBzdmcgKiB7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG5cbltkaXNhYmxlZF0gfiAudGhlbWUtaWNvbiBzdmcsIFtyZWFkb25seV0gfiAudGhlbWUtaWNvbiBzdmcge1xuICBmaWxsOiAjY2ZjZmNmOyB9XG5cbi5mYS1idXR0b24taWNvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4jcGFnZUxvYWRQcm9ncmVzc0JhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGhlaWdodDogNXB4O1xuICBib3gtc2hhZG93OiAwIDBweCAxMHB4IDJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH1cbiAgI3BhZ2VMb2FkUHJvZ3Jlc3NCYXIgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOyB9XG4gICNwYWdlTG9hZFByb2dyZXNzQmFyIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSwgIzYyMDBlZSk7IH1cblxuLmFkbWluLWJhciAjcGFnZUxvYWRQcm9ncmVzc0JhciB7XG4gIHRvcDogMnJlbTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBtYXJnaW46IDFyZW0gMDsgfVxuICAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlM2UzOyB9XG4gIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2Q0MTI5NjtcbiAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7IH1cblxuLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTA2JztcbiAgdHJhbnNpdGlvbjogY29udGVudCAwLjJzIGVhc2U7IH1cblxuLmJsdWUgLmZlYXR1cmVkLWNvbnRlbnQtaW1hZ2Uge1xuICBvcGFjaXR5OiAzMCU7IH1cblxuLmZlYXR1cmVkLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1jb250ZW50LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5mZWF0dXJlZC1wcm9kdWN0cy1pbnRybyB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAuZmVhdHVyZWQtcHJvZHVjdHMtaW50cm8gYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAgIC5mZWF0dXJlZC1wcm9kdWN0cy1pbnRybyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAxOCwgMTUwLCAwLjEpOyB9XG4gIC5mZWF0dXJlZC1wcm9kdWN0cy1pbnRybyBhOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcZjA2MSc7XG4gICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgIHBhZGRpbmctbGVmdDogMC42cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mZWF0dXJlZC1wcm9kdWN0cy1pbnRybyB7XG4gICAgICBoZWlnaHQ6IDhyZW07IH1cbiAgICAgIC5mZWF0dXJlZC1wcm9kdWN0cy1pbnRybyBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLXByb2R1Y3RzLWludHJvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4ubWVkaWEtbGF5b3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAzNHJlbTsgfVxuICAubWVkaWEtbGF5b3V0IC5tZWRpYS1vYmplY3QtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAubWVkaWEtbGF5b3V0IC5tZWRpYS1vYmplY3QtaW1hZ2UgaW1nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMTByZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5tZWRpYS1sYXlvdXQgLm1lZGlhLW9iamVjdC1pbWFnZSBpbWcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTNyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyOHJlbTsgfSB9XG5cbi5tZWRpYS1sYXlvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1lZGlhLWxheW91dCAubWVkaWEtb2JqZWN0IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaWEtbGF5b3V0IC5tZWRpYS1vYmplY3QgaDMge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubWVkaWEtbGF5b3V0IC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwcmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAubWVkaWEtbGF5b3V0IC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cblxuLnByb2R1Y3QtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMnJlbTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wcm9kdWN0LWJhY2tncm91bmQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5wcm9kdWN0LWJhY2tncm91bmQgaHIge1xuICAgIG1hcmdpbjogMS41cmVtIGF1dG87IH1cbiAgLnByb2R1Y3QtYmFja2dyb3VuZCBwIHtcbiAgICBjb2xvcjogIzY2NjY2NjsgfVxuXG4ucmV2ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnJldmVhbCBidXR0b24ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgI2Q0MTI5NjsgfVxuICAgIC5yZXZlYWwgYnV0dG9uIGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAucmV2ZWFsIC5yZXZlYWwtc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwcHggMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuNjVyZW07XG4gICAgcmlnaHQ6IDJyZW07XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMC40cmVtIC0xLjVyZW0gMCAwICFpbXBvcnRhbnQ7IH1cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b24gc3ZnIHtcbiAgICAgIGZpbGw6ICNkNDEyOTY7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMjVzIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiBzdmcgKiB7XG4gICAgICAgIGZpbGw6IGluaGVyaXQ7IH1cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b246aG92ZXIgc3ZnIHtcbiAgICAgIGZpbGw6ICNmMTViYzE7IH1cbiAgLnJldmVhbCAucmV2ZWFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMnJlbSAycmVtIDAgMnJlbTsgfVxuICAgIC5yZXZlYWwgLnJldmVhbC1oZWFkZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjVyZW0pOyB9XG4gIC5yZXZlYWwgLnJldmVhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbSAxOXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucmV2ZWFsIC5yZXZlYWwtYm9keTphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2l0eS1uby1wbGFuZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgbWF4LWhlaWdodDogMjByZW07XG4gICAgICBtaW4taGVpZ2h0OiAxNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtOyB9XG4gIC5yZXZlYWwgLmNhbmNlbC1idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5yZXZlYWwgLmNhbmNlbC1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uZnJvbnQtaGVybyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2Z1wiKSBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHBhZGRpbmc6IDQuMDYyNXJlbSAwO1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC5tYXJrZXRpbmcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZnJvbnQtaGVybyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1sYXJnZS5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDQyLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCA0LjVyZW07IH0gfVxuICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC53YXRjaCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjc3RhcmdhemVycyA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjdHdpdHRlciA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAuZnJvbnQtaGVybyAudGFnbGluZSB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIGg0IHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIC5mcm9udC1oZXJvIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4uaW50cm8ge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaW50cm8gLmZwLWludHJvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gICAgICAgIC5pbnRybyAuZnAtaW50cm8gaDIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgICAgIC5pbnRybyAuZnAtaW50cm8gaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWRpdmlkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuc2VjdGlvbi1kaXZpZGVyIGhyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uYmVuZWZpdHMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iZW5lZml0cyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5iZW5lZml0cyBoZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gIC5iZW5lZml0cyAuY3VzdG9taXphYmxlLFxuICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5iZW5lZml0cyAuc2VtYW50aWMsXG4gICAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gICAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBpbWcsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIGltZyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIGgzLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBoMyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBoMyxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBoMyB7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIHAsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIHAsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgcCxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5iZW5lZml0cyAud2h5LWZvdW5kYXRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbi5wcm9vZnMtdGFibGUge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuXG4uc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnNpbmdsZS1wcm9vZnMgLm1haW4tY29udGVudCAuZG93bmxvYWQtcGRmIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IHNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDdweCAwICM5MjkyOTI7IH1cbiAgICAuc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IHNlY3Rpb24gaDIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5zaW5nbGUtcHJvb2ZzIC5tYWluLWNvbnRlbnQgc2VjdGlvbiBoMi5zdGF0dXMtcHJvb2YtYXBwcm92ZWQsIC5zaW5nbGUtcHJvb2ZzIC5tYWluLWNvbnRlbnQgc2VjdGlvbiBoMi5zdGF0dXMtcHJvb2Ytbm90LWFwcHJvdmVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAuc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IHNlY3Rpb24gaDIuc3RhdHVzLXByb29mLWFwcHJvdmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzYmY1ZDsgfVxuICAgICAgLnNpbmdsZS1wcm9vZnMgLm1haW4tY29udGVudCBzZWN0aW9uIGgyLnN0YXR1cy1wcm9vZi1ub3QtYXBwcm92ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiNjFhOyB9XG4gIC5zaW5nbGUtcHJvb2ZzIC5tYWluLWNvbnRlbnQgZGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5zaW5nbGUtcHJvb2ZzIC5tYWluLWNvbnRlbnQgZGwgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaW5nbGUtcHJvb2ZzIC5tYWluLWNvbnRlbnQgZGwgZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAuc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IGRsIGRkIGEge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLnNpbmdsZS1wcm9vZnMgLm1haW4tY29udGVudCBkbCBkZCBhIGkge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTsgfVxuICAgICAgICAuc2luZ2xlLXByb29mcyAubWFpbi1jb250ZW50IGRsIGRkIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjOTI5MjkyOyB9XG5cbi5jb21tZW50cy1mb3JtIC5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21tZW50cy1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21tZW50cy1mb3JtIC5mb3JtLXJlcGVhdGVyLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21tZW50cy1mb3JtIC5mb3JtLXJlcGVhdGVyLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb21tZW50cy1mb3JtIC5jb21tZW50cy1maWVsZC1jb250YWluZXIgPiAuZm9ybS1ncm91cCA+IGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udmVyc2lvbi1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1maWxlLXByZXZpZXcge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtZmlsZS1wcmV2aWV3IGltZyB7XG4gICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnZlcnNpb24tZm9ybSAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudmVyc2lvbi1mb3JtIC5mb3JtLXJlcGVhdGVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZlcnNpb24tZm9ybSAuZm9ybS1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC52ZXJzaW9uLWZvcm0gLnByb29mcy1wcm9vZi12ZXJzaW9ucy1yZXBlYXRlciwgLnZlcnNpb24tZm9ybSBbZGF0YS1maWVsZC1jbGFzcz1cInByb29mcy1wcm9vZi12ZXJzaW9ucy1yZXBlYXRlclwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAudmVyc2lvbi1mb3JtIC5wcm9vZnMtcHJvb2YtdmVyc2lvbnMtcmVwZWF0ZXIgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSBbZGF0YS1maWVsZC1jbGFzcz1cInByb29mcy1wcm9vZi12ZXJzaW9ucy1yZXBlYXRlclwiXSAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgLnZlcnNpb24tZm9ybSAucHJvb2ZzLXByb29mLXZlcnNpb25zLXJlcGVhdGVyIC5mb3JtLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gW2RhdGEtZmllbGQtY2xhc3M9XCJwcm9vZnMtcHJvb2YtdmVyc2lvbnMtcmVwZWF0ZXJcIl0gLmZvcm0tcmVwZWF0ZXItaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICB0b3A6IDUwJTsgfVxuICAudmVyc2lvbi1mb3JtID4gLmZvcm0tZ3JvdXAgPiBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvb2ZzLXN0YXR1cyAubWRjLWJ1dHRvbiwgLnByb29mcy1zdGF0dXMgLmJ1dHRvbiwgLnByb29mcy1zdGF0dXMgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLnByb29mcy1zdGF0dXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLnByb29mcy1zdGF0dXMgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAudmVyc2lvbi1mb3JtIC5wcm9vZnMtc3RhdHVzIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wcm9vZnMtc3RhdHVzIC5tZGMtYnV0dG9uOmJlZm9yZSwgLnByb29mcy1zdGF0dXMgLmJ1dHRvbjpiZWZvcmUsIC5wcm9vZnMtc3RhdHVzIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl06YmVmb3JlLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAucHJvb2ZzLXN0YXR1cyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmJlZm9yZSwgLnByb29mcy1zdGF0dXMgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmJlZm9yZSwgLnZlcnNpb24tZm9ybSAucHJvb2ZzLXN0YXR1cyAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiOyB9XG5cbi5wcm9vZnMtc3RhdHVzIC5tZGMtYnV0dG9uLCAucHJvb2ZzLXN0YXR1cyAuYnV0dG9uLCAucHJvb2ZzLXN0YXR1cyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAucHJvb2ZzLXN0YXR1cyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAucHJvb2ZzLXN0YXR1cyAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLnByb29mcy1zdGF0dXMgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvb2ZzLXN0YXR1cyAubWRjLWJ1dHRvbiBpLCAucHJvb2ZzLXN0YXR1cyAuYnV0dG9uIGksIC5wcm9vZnMtc3RhdHVzIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0gaSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLnByb29mcy1zdGF0dXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSBpLCAucHJvb2ZzLXN0YXR1cyAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0gaSwgLnZlcnNpb24tZm9ybSAucHJvb2ZzLXN0YXR1cyAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cblxuLnByb29mcy1zdGF0dXMgLm1kYy1idXR0b246bGFzdC1jaGlsZCwgLnByb29mcy1zdGF0dXMgLmJ1dHRvbjpsYXN0LWNoaWxkLCAucHJvb2ZzLXN0YXR1cyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpsYXN0LWNoaWxkW3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC5wcm9vZnMtc3RhdHVzIGlucHV0Omxhc3QtY2hpbGRbdHlwZT1cImJ1dHRvblwiXSwgLnByb29mcy1zdGF0dXMgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQsIC52ZXJzaW9uLWZvcm0gLnByb29mcy1zdGF0dXMgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9vZnMtc3RhdHVzIC5tZGMtYnV0dG9uOmxhc3QtY2hpbGQgaSwgLnByb29mcy1zdGF0dXMgLmJ1dHRvbjpsYXN0LWNoaWxkIGksIC5wcm9vZnMtc3RhdHVzIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0Omxhc3QtY2hpbGRbdHlwZT1cImJ1dHRvblwiXSBpLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAucHJvb2ZzLXN0YXR1cyBpbnB1dDpsYXN0LWNoaWxkW3R5cGU9XCJidXR0b25cIl0gaSwgLnByb29mcy1zdGF0dXMgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQgaSwgLnZlcnNpb24tZm9ybSAucHJvb2ZzLXN0YXR1cyAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQgaSB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cblxuLnByb29mcy1zdGF0dXMgLmJ1dHRvbi1yYWRpby1maWVsZDpjaGVja2VkICsgLmJ1dHRvbi1yYWRpby1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyM2JmNWQ7IH1cbiAgLnByb29mcy1zdGF0dXMgLmJ1dHRvbi1yYWRpby1maWVsZDpjaGVja2VkICsgLmJ1dHRvbi1yYWRpby1sYWJlbCBpIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ucHJvb2ZzLXN0YXR1cyAuYnV0dG9uLXJhZGlvLWZpZWxkOmNoZWNrZWQgKyAuYnV0dG9uLXJhZGlvLWxhYmVsOmxhc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiNjFhOyB9XG5cbiNSZWplY3Rpb25Db21tZW50cyAjc3VibWl0UmVqZWN0aW9uQ29tbWVudHMge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5wYWdlLXRlbXBsYXRlLWZvcm0gLm1haW4tY29udGVudCwgLnBhZ2UtdGVtcGxhdGUtY3JlYXRlLWFjY291bnQgLm1haW4tY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cblxuLnBhZ2UtdGVtcGxhdGUtZm9ybSAudHdvLWNvbHVtbiwgLnBhZ2UtdGVtcGxhdGUtY3JlYXRlLWFjY291bnQgLnR3by1jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLnBhZ2UtdGVtcGxhdGUtZm9ybSAudHdvLWNvbHVtbiAuZ2Zvcm1fZmllbGRzLCAucGFnZS10ZW1wbGF0ZS1jcmVhdGUtYWNjb3VudCAudHdvLWNvbHVtbiAuZ2Zvcm1fZmllbGRzIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggN3B4IDAgIzkyOTI5MjsgfVxuXG4ubG9naW4taW1hZ2UtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sb2dpbi1pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmxvZ2luLWRpdmlkZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5sb2dpbi1kaXZpZGVyLWNvbnRhaW5lciAubG9naW4tZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuI3NlbGVjdEN1cnJlbnRDb21wYW55IC5tZGMtbGlzdCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3NlbGVjdEN1cnJlbnRDb21wYW55IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbSB+IC5tZGMtbGlzdC1pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuXG5bZGF0YS10b29sdGlwXSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udG9vbHRpcCBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC50b29sdGlwIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjOTI5MjkyOyB9XG5cbmFkZHJlc3Mge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ub29kLXdwLWZpbGUtcHJldmlld3MgfiAub29kLXdwLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5vb2Qtd3AtZmlsZS1wcmV2aWV3czplbXB0eSB+IC5vb2Qtd3AtZmllbGQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmpvYnMtdGFibGUgLmpvYi1kZXNjcmlwdGlvbi1jb2x1bW4ge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmpvYnMtdGFibGUgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5qb2JzLXRhYmxlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3BsYWNpbmdPcmRlciAucmVzdWJtaXQtb3JkZXJbZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgI3BsYWNpbmdPcmRlciAucmVzdWJtaXQtb3JkZXJbZGlzYWJsZWRdOmFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDAgMCB2YXIoLS10aGVtZS1kYXJrKSAhaW1wb3J0YW50OyB9XG5cbiNwbGFjaW5nT3JkZXIgLnN1Ym1pdHRpbmctbWVzc2FnZXMgaSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3Ige1xuICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciBpLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciBpLmZhLWNoZWNrLWNpcmNsZSB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3IgaS5mYS1jaGVjay1jaXJjbGUsICNwbGFjaW5nT3JkZXIgLmRhdGUtZXJyb3JzIC5kYXRlLWVycm9yIGkuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3IgLm1vZGlmeS1kZWxpdmVyeSwgI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3IgLmFwcHJvdmUtcHJpb3JpdHkge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1pbi13aWR0aDogNDBweDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciAubW9kaWZ5LWRlbGl2ZXJ5IHN2ZywgI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3IgLmFwcHJvdmUtcHJpb3JpdHkgc3ZnIHtcbiAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciBpIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICNwbGFjaW5nT3JkZXIgLmRhdGUtZXJyb3JzIC5kYXRlLWVycm9yID4gLmNlbGwuc2hyaW5rIHtcbiAgICBtaW4td2lkdGg6IDFweDsgfVxuICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciAubW9kaWZ5LWRlbGl2ZXJ5LWZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgICAjcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciAubW9kaWZ5LWRlbGl2ZXJ5LWZvcm0gLmNvcHktc3VnZ2VzdGVkLWRhdGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjRyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgI3BsYWNpbmdPcmRlciAuZGF0ZS1lcnJvcnMgLmRhdGUtZXJyb3IgLmxvYWRpbmctb3ZlcmxheSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNwbGFjaW5nT3JkZXIgLmRhdGUtZXJyb3JzIC5kYXRlLWVycm9yOm5vdCgubG9hZGluZykgLmxvYWRpbmctb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGxhY2luZ09yZGVyIC5kYXRlLWVycm9ycyAuZGF0ZS1lcnJvciB+IC5kYXRlLWVycm9yIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5MjkyOTI7IH1cblxuLmRhdGVwaWNrZXJzLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDIwMDA7IH1cblxuLmZpbHRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5maWx0ZXIge1xuICAgICAgcGFkZGluZzogMCAwLjc1cmVtOyB9IH1cbiAgLmZpbHRlciBzZWxlY3QsIC5maWx0ZXIgLmZzLXdyYXAsIC5maWx0ZXIgLmRyb3Bkb3duLnVpIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogMCAuNzVyZW07XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3Bkb3duLWFycm93LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSAhaW1wb3J0YW50OyB9XG4gICAgLmZpbHRlciBzZWxlY3Q6aG92ZXIsIC5maWx0ZXIgLmZzLXdyYXA6aG92ZXIsIC5maWx0ZXIgLmRyb3Bkb3duLnVpOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjICFpbXBvcnRhbnQ7IH1cbiAgICAuZmlsdGVyIHNlbGVjdDpmb2N1cywgLmZpbHRlciAuZnMtd3JhcDpmb2N1cywgLmZpbHRlciAuZHJvcGRvd24udWk6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWMgIWltcG9ydGFudDsgfVxuICAgIC5maWx0ZXIgc2VsZWN0IC5mcy1sYWJlbC13cmFwLCAuZmlsdGVyIC5mcy13cmFwIC5mcy1sYWJlbC13cmFwLCAuZmlsdGVyIC5kcm9wZG93bi51aSAuZnMtbGFiZWwtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZpbHRlciBzZWxlY3QgLmZzLWxhYmVsLXdyYXAgLmZzLWFycm93LCAuZmlsdGVyIC5mcy13cmFwIC5mcy1sYWJlbC13cmFwIC5mcy1hcnJvdywgLmZpbHRlciAuZHJvcGRvd24udWkgLmZzLWxhYmVsLXdyYXAgLmZzLWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZpbHRlciBzZWxlY3QgLmZzLWxhYmVsLXdyYXAgLmZzLWxhYmVsLCAuZmlsdGVyIC5mcy13cmFwIC5mcy1sYWJlbC13cmFwIC5mcy1sYWJlbCwgLmZpbHRlciAuZHJvcGRvd24udWkgLmZzLWxhYmVsLXdyYXAgLmZzLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5maWx0ZXIgLmZhY2V0d3AtZmFjZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZpbHRlciAuZmFjZXR3cC10eXBlLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZpbHRlciAuZmFjZXR3cC10eXBlLXNlYXJjaCAuZmFjZXR3cC1zZWFyY2gtd3JhcC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lsbC1jaGFuZ2U6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmZpbHRlciAuZmFjZXR3cC10eXBlLXNlYXJjaCAuZmFjZXR3cC1zZWFyY2gtd3JhcC5tZGMtdGV4dC1maWVsZDpiZWZvcmUsIC5maWx0ZXIgLmZhY2V0d3AtdHlwZS1zZWFyY2ggLmZhY2V0d3Atc2VhcmNoLXdyYXAubWRjLXRleHQtZmllbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuZmlsdGVyIC5mYWNldHdwLXR5cGUtc2VhcmNoIC5mYWNldHdwLXNlYXJjaC13cmFwLm1kYy10ZXh0LWZpZWxkIC5hd2Vzb21wbGV0ZSB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuZmlsdGVyIC5mYWNldHdwLXR5cGUtc2VhcmNoIC5mYWNldHdwLXNlYXJjaC13cmFwLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEycmVtOyB9IH1cbiAgICAuZmlsdGVyIC5mYWNldHdwLXR5cGUtc2VhcmNoIGlucHV0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZmlsdGVyIC5mYWNldHdwLXR5cGUtc2VhcmNoIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxM3JlbTsgfSB9XG5cbi5kcm9wZG93bi51aSAubWVudSwgLmRyb3Bkb3duLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCAubWVudSB7XG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7IH1cblxuLmFkZHJlc3MtaXRlbSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07IH1cblxuLnJlc2V0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucHJvZHVjdC1maWx0ZXJzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbi5vcmRlci1mcm9tLXRlbXBsYXRlIHtcbiAgbWluLXdpZHRoOiAzNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5vcmRlci1mcm9tLXRlbXBsYXRlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG5cbi50ZW1wbGF0ZXMtdGFiIC5wcm9kdWN0LWZpbHRlcnMtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGVtcGxhdGVzLWJhY2tncm91bmQtaW1hZ2UuanBnKTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC50ZW1wbGF0ZXMgLnRlbXBsYXRlIC50ZW1wbGF0ZS1kZXRhaWxzIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAubWF0ZXJpYWwge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAudGVtcGxhdGUtbmFtZSwgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAudGVtcGxhdGUtcHJvZHVjdC10aXRsZSwgLnRlbXBsYXRlcyAudGVtcGxhdGUgLnRlbXBsYXRlLWRldGFpbHMgYSAubWF0ZXJpYWwge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmFjZXR3cC1wYWdlciB7XG4gIG1hcmdpbjogMXJlbSAwOyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdCB7XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gIGhlaWdodDogMThyZW07IH1cbiAgLnByb2R1Y3RzIC5wcm9kdWN0IGEge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAucHJvZHVjdHMgLnByb2R1Y3QuYWN0aXZlIC5wcm9kdWN0LWJhY2tncm91bmQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG4gIC5wcm9kdWN0cyAucHJvZHVjdCBociB7XG4gICAgbWFyZ2luOiAxLjVyZW0gYXV0bzsgfVxuICAucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscywgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1tZWRpdW0pIHZhcigtLWJhY2tncm91bmQtcHJvZHVjdC1pbWFnZSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC4zKTsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICAgICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAvKiBhdXRvcHJlZml4ZXI6IG9uICovXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1kZXNjcmlwdGlvbiAuZnVsbC1oZWlnaHQge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5jZWxsIH4gLmNlbGwucHJvZHVjdC1leGNlcnB0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1iYWNrZ3JvdW5kIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtYmFja2dyb3VuZCBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1iYWNrZ3JvdW5kIHAubWF0ZXJpYWwge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1iYWNrZ3JvdW5kIGgyLCAucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtYmFja2dyb3VuZCBwLm1hdGVyaWFsIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1iYWNrZ3JvdW5kIGEudG9nZ2xlLXByb2R1Y3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICB0b3A6IDAuNzVyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGlkPSdMYXllcl8xJyBkYXRhLW5hbWU9J0xheWVyIDEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE4LjkgMTguOSclM0UlM0NkZWZzJTNFJTNDc3R5bGUlM0UuY2xzLTElN0JmaWxsOiUyM2ZmZjslN0QlM0Mvc3R5bGUlM0UlM0MvZGVmcyUzRSUzQ3RpdGxlJTNFaW5mbyUzQy90aXRsZSUzRSUzQ3BhdGggY2xhc3M9J2Nscy0xJyBkPSdNMzA1LjQ1LDM4N2E5LjQ1LDkuNDUsMCwxLDAsOS40NSw5LjQ1LDkuNDUsOS40NSwwLDAsMC05LjQ1LTkuNDVabTIsMTQuNjUtMS4xNy40NGEzLDMsMCwwLDEtMSwuMTUsMiwyLDAsMCwxLTEuMzgtLjQ0LDEuMzcsMS4zNywwLDAsMS0uNDktMS4wOSwzLjIzLDMuMjMsMCwwLDEsMC0uNTMsNiw2LDAsMCwxLC4xMS0uNmwuNjEtMi4xNWE1LjUsNS41LDAsMCwwLC4xNC0uNTksMi4zNCwyLjM0LDAsMCwwLC4wNi0uNS43Ni43NiwwLDAsMC0uMTgtLjU4LjkxLjkxLDAsMCwwLS42NC0uMTYsMS43MSwxLjcxLDAsMCwwLS40OS4wN2wtLjQyLjE0LjE2LS42NmMuNC0uMTYuNzgtLjMsMS4xNC0uNDFhMy4zNSwzLjM1LDAsMCwxLDEtLjE4LDEuOTQsMS45NCwwLDAsMSwxLjM1LjQzLDEuNDEsMS40MSwwLDAsMSwuNDcsMS4xYzAsLjA5LDAsLjI1LDAsLjQ5YTMuMTMsMy4xMywwLDAsMS0uMTIuNjVsLS42LDIuMTRhNCw0LDAsMCwwLS4xNC41OSwzLjA5LDMuMDksMCwwLDAtLjA2LjUuNzMuNzMsMCwwLDAsLjE5LjU4LDEsMSwwLDAsMCwuNjcuMTYsMi4wNSwyLjA1LDAsMCwwLC41LS4wOGwuNC0uMTNabS0uMTEtOC43YTEuNTMsMS41MywwLDAsMS0yLDAsMS4yOSwxLjI5LDAsMCwxLDAtMS45MiwxLjUzLDEuNTMsMCwwLDEsMiwwLDEuMzEsMS4zMSwwLDAsMSwwLDEuOTJabTAsMCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTI5NiAtMzg3KScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuICAgICAgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWJhY2tncm91bmQgYS50b2dnbGUtcHJvZHVjdDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgICAgLnByb2R1Y3RzIC5wcm9kdWN0IC5wcm9kdWN0LWJhY2tncm91bmQgYS50b2dnbGUtcHJvZHVjdC5jbG9zZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBpZD0nTGF5ZXJfMScgZGF0YS1uYW1lPSdMYXllciAxJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2aWV3Qm94PScwIDAgNDEuNTggNDEuNTgnJTNFJTNDZGVmcyUzRSUzQ3N0eWxlJTNFLmNscy0xJTdCZmlsbDpub25lOyU3RC5jbHMtMiU3QmNsaXAtcGF0aDp1cmwoJTIzY2xpcC1wYXRoKTslN0QuY2xzLTMlN0JmaWxsOiUyM2ZmZjslN0QlM0Mvc3R5bGUlM0UlM0NjbGlwUGF0aCBpZD0nY2xpcC1wYXRoJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMjg1IC0zNzUuNDIpJyUzRSUzQ3JlY3QgY2xhc3M9J2Nscy0xJyB4PScyODUnIHk9JzM3NScgd2lkdGg9JzQyJyBoZWlnaHQ9JzQyLjk2Jy8lM0UlM0MvY2xpcFBhdGglM0UlM0MvZGVmcyUzRSUzQ3RpdGxlJTNFY2xvc2UlM0MvdGl0bGUlM0UlM0NnIGNsYXNzPSdjbHMtMiclM0UlM0NwYXRoIGNsYXNzPSdjbHMtMycgZD0nTTMyMC41LDM4MS41YTIwLjgsMjAuOCwwLDEsMCwwLDI5LjQyLDIwLjgzLDIwLjgzLDAsMCwwLDAtMjkuNDJaTTMxNCw0MDQuNDFhMS41OSwxLjU5LDAsMCwxLTIuMjYsMGwtNS45NC01Ljk0LTYuMjIsNi4yMmExLjYsMS42LDAsMCwxLTIuMjctMi4yNmw2LjIzLTYuMjItNS45NC01Ljk0YTEuNiwxLjYsMCwwLDEsMi4yNi0yLjI2bDUuOTQsNS45NCw1LjY2LTUuNjZhMS42MSwxLjYxLDAsMCwxLDIuMjYsMCwxLjU5LDEuNTksMCwwLDEsMCwyLjI2bC01LjY2LDUuNjYsNS45NCw1Ljk0YTEuNTksMS41OSwwLDAsMSwwLDIuMjZabTAsMCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTI4NSAtMzc1LjQyKScvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpOyB9XG4gICAgICAgIC5wcm9kdWN0cyAucHJvZHVjdCAucHJvZHVjdC1iYWNrZ3JvdW5kIGEudG9nZ2xlLXByb2R1Y3QuY2xvc2U6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZSgxLjEpOyB9XG4gIC5wcm9kdWN0cyAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5kaW1lbnNpb25zIGR0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZGltZW5zaW9ucyAuZGltZW5zaW9ucy10b3RhbCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBwYWRkaW5nOiAwLjZyZW07XG4gIG1hcmdpbjogMC4yNXJlbSAtMC4xcmVtIDA7IH1cbiAgLmRpbWVuc2lvbnMgLmRpbWVuc2lvbnMtdG90YWwgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZGltZW5zaW9ucyAuZGltZW5zaW9ucy10b3RhbCBkZDo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ud2MtYmxvY2stZ3JpZF9fcHJvZHVjdCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMXJlbTsgfVxuICAud2MtYmxvY2stZ3JpZF9fcHJvZHVjdCAud2MtYmxvY2stZ3JpZF9fcHJvZHVjdC10aXRsZSB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAubWFpbi1jb250ZW50LCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLm1haW4tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5wbGFjZS1vcmRlci1mb3JtOm5vdCgucGF5bWVudC1lbmFibGVkKSwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5wbGFjZS1vcmRlci1mb3JtOm5vdCgucGF5bWVudC1lbmFibGVkKSB7XG4gIG1hcmdpbjogLTFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjJyZW07IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC5tZGMtYnV0dG9uLCAud29vY29tbWVyY2UtY2FydCAucGxhY2Utb3JkZXItZm9ybTpub3QoLnBheW1lbnQtZW5hYmxlZCkgLmJ1dHRvbiwgLndvb2NvbW1lcmNlLWNhcnQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC53b29jb21tZXJjZS1jYXJ0IC5wbGFjZS1vcmRlci1mb3JtOm5vdCgucGF5bWVudC1lbmFibGVkKSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAud29vY29tbWVyY2UtY2FydCAucGxhY2Utb3JkZXItZm9ybTpub3QoLnBheW1lbnQtZW5hYmxlZCkgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAudmVyc2lvbi1mb3JtIC53b29jb21tZXJjZS1jYXJ0IC5wbGFjZS1vcmRlci1mb3JtOm5vdCgucGF5bWVudC1lbmFibGVkKSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC5tZGMtYnV0dG9uLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC5idXR0b24sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAucGxhY2Utb3JkZXItZm9ybTpub3QoLnBheW1lbnQtZW5hYmxlZCkgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5wbGFjZS1vcmRlci1mb3JtOm5vdCgucGF5bWVudC1lbmFibGVkKSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnBsYWNlLW9yZGVyLWZvcm06bm90KC5wYXltZW50LWVuYWJsZWQpIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luOiAxcmVtIC0xcmVtOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5mb3JtLXNlY3Rpb25zLWhlYWRlciBoMiwgLndvb2NvbW1lcmNlLWNhcnQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGgzLCAud29vY29tbWVyY2UtY2FydCAuZm9ybS1zZWN0aW9ucy1oZWFkZXIgaDQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuZm9ybS1zZWN0aW9ucy1oZWFkZXIgaDIsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuZm9ybS1zZWN0aW9ucy1oZWFkZXIgaDMsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuZm9ybS1zZWN0aW9ucy1oZWFkZXIgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud29vY29tbWVyY2UtY2FydCAuZm9ybS1zZWN0aW9ucy1oZWFkZXIgaDIsIC53b29jb21tZXJjZS1jYXJ0IC5mb3JtLXNlY3Rpb25zLWhlYWRlciBoMywgLndvb2NvbW1lcmNlLWNhcnQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGg0LCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGgyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGgzLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLmN1cnJlbnQtc2hpcHBpbmctdHlwZSwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jdXJyZW50LXNoaXBwaW5nLXR5cGUge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAucmVtb3ZlIGltZywgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5yZW1vdmUgaW1nIHtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5yZW1vdmUgc3ZnLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnJlbW92ZSBzdmcge1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHdpZHRoOiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBmaWxsOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGVhc2U7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLnJlbW92ZSBzdmcgKiwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5yZW1vdmUgc3ZnICoge1xuICAgIGZpbGw6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAucmVtb3ZlOmhvdmVyIHN2ZywgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5yZW1vdmU6aG92ZXIgc3ZnIHtcbiAgZmlsbDogdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuZXhwZWRpdGVkLXNoaXBwaW5nLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmV4cGVkaXRlZC1zaGlwcGluZyB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5leHBlZGl0ZWQtc2hpcHBpbmcgaW1nLCAud29vY29tbWVyY2UtY2FydCAuZXhwZWRpdGVkLXNoaXBwaW5nIHN2ZywgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5leHBlZGl0ZWQtc2hpcHBpbmcgaW1nLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmV4cGVkaXRlZC1zaGlwcGluZyBzdmcge1xuICAgIGZpbGw6IHZhcigtLXRoZW1lLWRhcmspO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2FydC1oZWFkZXIsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtaGVhZGVyIC5jZWxsLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtaGVhZGVyIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICAud29vY29tbWVyY2UtY2FydCAuY2FydC1oZWFkZXIgaDQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1oZWFkZXIgaDQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2FydC1yb3csIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cge1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IC5jZWxsLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IC5jZWxsIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICAud29vY29tbWVyY2UtY2FydCAuY2FydC1yb3cgZGwsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgZGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyBkbCBkdCwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jYXJ0LXJvdyBkbCBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IGRsIGRkLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IGRsIGRkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IGRsIGRkIGEsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgZGwgZGQgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAud29vY29tbWVyY2UtY2FydCAuY2FydC1yb3cgZGwgZGQgYSBpLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IGRsIGRkIGEgaSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtOyB9XG4gICAgICAgIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyBkbCBkZCBhOmhvdmVyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IGRsIGRkIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjOTI5MjkyOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyBoNSwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jYXJ0LXJvdyBoNSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IC5hcnQtZmlsZS1saW5rLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IC5hcnQtZmlsZS1saW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAud29vY29tbWVyY2UtY2FydCAuY2FydC1yb3cgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyAuYnV0dG9uLCAud29vY29tbWVyY2UtY2FydCAuY2FydC1yb3cgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LXJvdyAuam9iLWRldGFpbHMtc2VjdGlvbiwgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtcm93IC5kaW1lbnNpb25zLXNlY3Rpb24sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgLmJ1dHRvbiwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jYXJ0LXJvdyAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtcm93IGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgLnZlcnNpb24tZm9ybSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAudmVyc2lvbi1mb3JtIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1yb3cgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jYXJ0LXJvdyAuam9iLWRldGFpbHMtc2VjdGlvbiwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jYXJ0LXJvdyAuZGltZW5zaW9ucy1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LCAud29vY29tbWVyY2UtY2FydCAuY2hlY2tvdXQtZm9ybS5zaGlwcGluZywgLndvb2NvbW1lcmNlLWNhcnQgLmNvbmZpcm1hdGlvbi1jb250YWluZXIgPiBzZWN0aW9uLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2hlY2tvdXQtZm9ybS5zaGlwcGluZywgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jb25maXJtYXRpb24tY29udGFpbmVyID4gc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQgLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC53b29jb21tZXJjZS1jYXJ0IC5jaGVja291dC1mb3JtLnNoaXBwaW5nIC5mb3JtLXNlY3Rpb24taGVhZGVyLCAud29vY29tbWVyY2UtY2FydCAuY29uZmlybWF0aW9uLWNvbnRhaW5lciA+IHNlY3Rpb24gLmZvcm0tc2VjdGlvbi1oZWFkZXIsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydCAuZm9ybS1zZWN0aW9uLWhlYWRlciwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jaGVja291dC1mb3JtLnNoaXBwaW5nIC5mb3JtLXNlY3Rpb24taGVhZGVyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNvbmZpcm1hdGlvbi1jb250YWluZXIgPiBzZWN0aW9uIC5mb3JtLXNlY3Rpb24taGVhZGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2FydC1jb250YWluZXIsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2FydC1jb250YWluZXIge1xuICAtLXRoZW1lLW1lZGl1bTogdmFyKC0tdGhlbWUtbGlnaHQpO1xuICAtLXRoZW1lLWRhcms6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNhcnQtY29udGFpbmVyID4gLmZvcm0tc2VjdGlvbnMtaGVhZGVyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNhcnQtY29udGFpbmVyID4gLmZvcm0tc2VjdGlvbnMtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlLWNhcnQgLmNoZWNrb3V0LWJ1dHRvbnMgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC5jaGVja291dC1idXR0b25zIC5idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC5jaGVja291dC1idXR0b25zIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC53b29jb21tZXJjZS1jYXJ0IC5jaGVja291dC1idXR0b25zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1jYXJ0IC5jaGVja291dC1idXR0b25zIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2UtY2FydCAuY2hlY2tvdXQtYnV0dG9ucyAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNoZWNrb3V0LWJ1dHRvbnMgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2hlY2tvdXQtYnV0dG9ucyAuYnV0dG9uLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLmNoZWNrb3V0LWJ1dHRvbnMgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jaGVja291dC1idXR0b25zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuY2hlY2tvdXQtYnV0dG9ucyAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5jaGVja291dC1idXR0b25zIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC4zcmVtIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlLWNhcnQgLnJldmlldy1zaGlwcGluZy1oZWFkZXIgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIC5idXR0b24sIC53b29jb21tZXJjZS1jYXJ0IC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC53b29jb21tZXJjZS1jYXJ0IC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1jYXJ0IC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2UtY2FydCAucmV2aWV3LXNoaXBwaW5nLWhlYWRlciAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnJldmlldy1zaGlwcGluZy1oZWFkZXIgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAucmV2aWV3LXNoaXBwaW5nLWhlYWRlciAuYnV0dG9uLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnJldmlldy1zaGlwcGluZy1oZWFkZXIgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAucmV2aWV3LXNoaXBwaW5nLWhlYWRlciAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5yZXZpZXctc2hpcHBpbmctaGVhZGVyIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC4zcmVtIDA7IH0gfVxuXG4ud29vY29tbWVyY2UtY2FydCAuc2hpcC1tb2RhbC1mb3JtIC5zYXZlLXNoaXBtZW50LWJ1dHRvbiwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5zaGlwLW1vZGFsLWZvcm0gLnNhdmUtc2hpcG1lbnQtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAxLjhyZW07XG4gIHBhZGRpbmctdG9wOiAzcHg7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLm9wZW4tc3BsaXQtc2hpcG1lbnQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAub3Blbi1zcGxpdC1zaGlwbWVudCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC5vcGVuLXNwbGl0LXNoaXBtZW50OmhvdmVyLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLm9wZW4tc3BsaXQtc2hpcG1lbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAjOTI5MjkyOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGhlYWQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRoZWFkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRoLCAud29vY29tbWVyY2UtY2FydCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRkLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aCwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGQge1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAud29vY29tbWVyY2Utc2hpcHBpbmctbWV0aG9kcywgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgLnNoaXBwaW5nX21ldGhvZCwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMgLnNoaXBwaW5nX21ldGhvZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGZvb3QsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRmb290IHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAud2NfcGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLndjX3BheW1lbnRfbWV0aG9kcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgI3djLWF1dGhuZXQtY2MtZm9ybSwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkICN3Yy1hdXRobmV0LWNjLWZvcm0ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAtMC41cmVtO1xuICBwYWRkaW5nOiAwOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53Yy1jYXJkLW51bWJlci1maWVsZCwgLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC53Yy1jYXJkLW51bWJlci1maWVsZCB7XG4gIG1hcmdpbjogMC41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQgLndjLWNhcmQtZXhwaXJ5LWZpZWxkLCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLndjLWNhcmQtZXhwaXJ5LWZpZWxkIHtcbiAgbWFyZ2luOiAwLjVyZW07XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53Yy1jYXJkLWNvZGUtZmllbGQsIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAud2MtY2FyZC1jb2RlLWZpZWxkIHtcbiAgbWFyZ2luOiAwLjVyZW07XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuICAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuYnV0dG9uLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuNzVyZW07IH1cbiAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5pcy1hY3RpdmUgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC5idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmlzLWFjdGl2ZSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLm9vZC11c2Vycy1hZGRyZXNzZXMtLWZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmFyZWEtY29udGFpbmVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4uc3F1YXJlLWZlZXQtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzkyOTI5MjtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNxdWFyZS1mZWV0LWNvbnRhaW5lciAuc3F1YXJlLWZlZXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pOyB9XG4gIC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNjY2NjY2O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMgLndvb2NvbW1lcmNlLXRhYmxlLS1vcmRlci1kZXRhaWxzIC5qb2ItbnVtYmVyLCAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyAud29vY29tbWVyY2UtdGFibGUtLW9yZGVyLWRldGFpbHMgLml0ZW0tbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG5cbi5pbmZvLXRvb2x0aXAge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmluZm8tdG9vbHRpcCBpbWcsIC5pbmZvLXRvb2x0aXAgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLnJlZnJlc2gtdG9vbHRpcCwgLmRlbGV0ZS1qb2Ige1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiByaWdodDsgfVxuICAucmVmcmVzaC10b29sdGlwIGltZywgLnJlZnJlc2gtdG9vbHRpcCBzdmcsIC5kZWxldGUtam9iIGltZywgLmRlbGV0ZS1qb2Igc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ub3JkZXItaXRlbS5sb2FkaW5nIC5yZWZyZXNoLXRvb2x0aXAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAub3JkZXItaXRlbS5sb2FkaW5nIC5yZWZyZXNoLXRvb2x0aXAgaW1nLCAub3JkZXItaXRlbS5sb2FkaW5nIC5yZWZyZXNoLXRvb2x0aXAgc3ZnIHtcbiAgICBmaWxsOiAjOTI5MjkyO1xuICAgIGFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLnRyYWNraW5nLW51bWJlci1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRyYWNraW5nLW51bWJlci1saW5rIGkge1xuICAgIGN1cnNvcjogaW5oZXJpdDsgfVxuXG4ud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBoMiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuXG4ud29vY29tbWVyY2Utc2hpcHBpbmctYWRkcmVzc2VzIC5ncmlkLXgge1xuICBtYXJnaW46IDA7IH1cblxuLndvb2NvbW1lcmNlLXNoaXBwaW5nLWFkZHJlc3NlcyBoMiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTsgfVxuXG4ud29vY29tbWVyY2Utc2hpcHBpbmctYWRkcmVzc2VzIC5vcmRlci1zaGlwcGluZy1oZWFkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW1lZGl1bSk7IH1cblxuLnNoaXBtZW50cyAuc2hpcG1lbnQgLnJlbW92ZS1zaGlwbWVudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiAxLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2hpcG1lbnRzIC5zaGlwbWVudCAucmVtb3ZlLXNoaXBtZW50OmhvdmVyIHN2ZyB7XG4gICAgZmlsbDogdmFyKC0tdGhlbWUtZGFyayk7IH1cblxuI21hbmFnZVNoaXBwaW5nIC5zaGlwbWVudC1idXR0b25zIC5hZGQtc2hpcG1lbnQsIC5zcGxpdFNoaXBtZW50TW9kYWwgLnNoaXBtZW50LWJ1dHRvbnMgLmFkZC1zaGlwbWVudCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBoZWlnaHQ6IDM1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgbWFyZ2luOiAwOyB9XG5cbiNtYW5hZ2VTaGlwcGluZyAuc2hpcG1lbnQtYnV0dG9ucyAuY29uZmlybS1zaGlwbWVudHMsIC5zcGxpdFNoaXBtZW50TW9kYWwgLnNoaXBtZW50LWJ1dHRvbnMgLmNvbmZpcm0tc2hpcG1lbnRzIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuI21hbmFnZVNoaXBwaW5nIC5zYXZlLXNoaXBtZW50LWJ1dHRvbiwgLnNwbGl0U2hpcG1lbnRNb2RhbCAuc2F2ZS1zaGlwbWVudC1idXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4ud29vY29tbWVyY2UtZXJyb3IgLndvb2NvbW1lcmNlLWVycm9yLW1lc3NhZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRoZW1lLWRhcmspO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmZvcm0ucGF5bWVudC5jaGVja291dC1mb3JtIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCA0cHggN3B4IDAgIzkyOTI5MjsgfVxuXG4ud2NfcGF5bWVudF9tZXRob2RzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC53Y19wYXltZW50X21ldGhvZHMgW2Zvcj1cInBheW1lbnRfbWV0aG9kX3RyYW5zYXhcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndjX3BheW1lbnRfbWV0aG9kcyBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5jYXJ0LXNoaXBwaW5nLWZvcm0ge1xuICBwYWRkaW5nOiAycmVtOyB9XG4gIC5jYXJ0LXNoaXBwaW5nLWZvcm0gaDMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhcnQtc2hpcHBpbmctZm9ybSBwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MTI5NjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAgIC5jYXJ0LXNoaXBwaW5nLWZvcm0gcCBsYWJlbCB7XG4gICAgICBwYWRkaW5nOiAuMnJlbSAxcmVtO1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5jYXJ0LXNoaXBwaW5nLWZvcm0gcCBsYWJlbCBhYmJyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5jYXJ0LXNoaXBwaW5nLWZvcm0gcCAuc2hvdy1wYXNzd29yZC1pbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC40cmVtOyB9XG4gICAgICAuY2FydC1zaGlwcGluZy1mb3JtIHAgLnNob3ctcGFzc3dvcmQtaW5wdXQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDIzJztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgICAgICBjb2xvcjogI2Q0MTI5NjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jYXJ0LXNoaXBwaW5nLWZvcm0gcCBzcGFuIGlucHV0LCAuY2FydC1zaGlwcGluZy1mb3JtIHAgc3BhbiB0ZXh0YXJlYSwgLmNhcnQtc2hpcHBpbmctZm9ybSBwIHNwYW4gc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtOyB9XG4gICAgICAuY2FydC1zaGlwcGluZy1mb3JtIHAgc3BhbiBpbnB1dDpmb2N1cywgLmNhcnQtc2hpcHBpbmctZm9ybSBwIHNwYW4gdGV4dGFyZWE6Zm9jdXMsIC5jYXJ0LXNoaXBwaW5nLWZvcm0gcCBzcGFuIHNlbGVjdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uY2FydC1zaGlwcGluZy1mb3JtIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuY2FydC1zaGlwcGluZy1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5jYXJ0LXNoaXBwaW5nLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDBjJztcbiAgICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWVcXCA1IFBybztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzkyOTI5MjtcbiAgICAgIGJvcmRlcjogMC4ycHggc29saWQgIzMzMztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAxMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICB0ZXh0LWluZGVudDogLTAuMDc1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlOyB9XG4gIC5jYXJ0LXNoaXBwaW5nLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZThmNjsgfVxuICAuY2FydC1zaGlwcGluZy1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2Q0MTI5NjsgfVxuXG4uY3JlYXRlLWFjY291bnQge1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNyZWF0ZS1hY2NvdW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5jcmVhdGUtYWNjb3VudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZVxcIDUgUHJvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTI5MjkyO1xuICAgICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjMzMzO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IDEwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgIHRleHQtaW5kZW50OiAtMC4wNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2U7IH1cbiAgLmNyZWF0ZS1hY2NvdW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGU4ZjY7IH1cbiAgLmNyZWF0ZS1hY2NvdW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2Q0MTI5NjsgfVxuXG4uc2hpcHBpbmdfYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzICFpbXBvcnRhbnQ7IH1cblxuI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3Mge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZS1hZGRyZXNzLWZpZWxkcyBhYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtYWRkcmVzcy1maWVsZHMgYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgcGFkZGluZzogMC43NXJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDNyZW07XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS1hZGRyZXNzLWZpZWxkcyBpbnB1dFt0eXBlPSd0ZXh0J10sIC53b29jb21tZXJjZS1hZGRyZXNzLWZpZWxkcyBpbnB1dFt0eXBlPSd0ZWwnXSwgLndvb2NvbW1lcmNlLWFkZHJlc3MtZmllbGRzIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGhlaWdodDogM3JlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcGFkZGluZzogMC41cmVtOyB9XG5cbi53b29jb21tZXJjZS1hZGRyZXNzLWZpZWxkcyAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMC43NXJlbTsgfVxuICAud29vY29tbWVyY2UtYWRkcmVzcy1maWVsZHMgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIGIge1xuICAgIG1hcmdpbjogMC41cmVtIDAgMC41cmVtIC0xcmVtOyB9XG5cbi5wYWdlLXRlbXBsYXRlLW1pc3Npbmctam9icyAuZXBtcy10ZW1wbGF0ZS1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDIwMHB4OyB9XG4gIC5wYWdlLXRlbXBsYXRlLW1pc3Npbmctam9icyAuZXBtcy10ZW1wbGF0ZS1zZWxlY3QgLmRyb3Bkb3duIGlucHV0IH4gLnRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1taXNzaW5nLWpvYnMgLmVwbXMtam9iLW51bWJlci1maWVsZC13cmFwcGVyIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLW1pc3Npbmctam9icyAub3JkZXItaXRlbS5sb2FkaW5nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ucHJvZHVjdC1wb3N0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjdmZDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLnByb2R1Y3QtcG9zdCAucHJvZHVjdC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAzcmVtIDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXBvc3QgLnByb2R1Y3QtY29udGVudC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAgICAgLnByb2R1Y3QtcG9zdCAucHJvZHVjdC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAucHJvZHVjdC1wb3N0IC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXBvc3QgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXBvc3QgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LXBvc3QgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDQwJSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucHJvZHVjdC1wb3N0IC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7IH1cbiAgICAgICAgLnByb2R1Y3QtcG9zdCAucHJvZHVjdC1pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTByZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXBvc3QgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfVxuICAgICAgICAucHJvZHVjdC1wb3N0IC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3QtcG9zdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hY3Rpb25zLW5hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07IH0gfVxuXG4uYWN0aW9ucy1uYXYgYSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIC5hY3Rpb25zLW5hdiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAuYWN0aW9ucy1uYXYgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5hY3Rpb25zLW5hdiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYWN0aW9ucy1uYXYgLmFjdGlvbnMtbmF2LWxpbmtzIGEge1xuICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50OyB9XG4gIC5hY3Rpb25zLW5hdiAuYWN0aW9ucy1uYXYtbGlua3MgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmFjdGlvbnMtbmF2IGJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWN0aW9ucy1uYXYgYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAuYWN0aW9ucy1uYXYgYnV0dG9uOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hY3Rpb25zLW5hdiBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYWNldHdwLXRlbXBsYXRlIHRib2R5IHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAuZmFjZXR3cC10ZW1wbGF0ZSB0Ym9keSAuZXZlbiB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTNweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFjZXR3cC10ZW1wbGF0ZSB0aGVhZCB0ciB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7IH1cbiAgLmZhY2V0d3AtdGVtcGxhdGUgdGhlYWQgdHIgdGgge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmZhY2V0d3AtdGVtcGxhdGUgdHIge1xuICBoZWlnaHQ6IDNyZW07IH1cblxuLmpvYnMtZmlsdGVycy1jb250YWluZXIgaDMge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmpvYnMtZmlsdGVycy1jb250YWluZXIgaDMge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMC41cmVtIDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmpvYnMtZmlsdGVycy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm9vZC1lZGl0LXVzZXItZm9ybSBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5vb2QtZWRpdC11c2VyLWZvcm0gW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAxOCwgMTUwLCAwLjEpICFpbXBvcnRhbnQ7IH1cblxuLm9vZC1uZXctdXNlci1mb3JtIGgyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvb2YtZmlsdGVycyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnByb29mLWZpbHRlcnMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9IH1cbiAgLnByb29mLWZpbHRlcnMgYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB3aWR0aDogMTJyZW0gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJ0thcmxhJztcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDUuNXJlbSAwLjc1cmVtIDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy91bmRvLWFycm93LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5wcm9vZi1maWx0ZXJzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvb2YtZmlsdGVycyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG4gIC5wcm9vZi1maWx0ZXJzIC5mYWNldHdwLXR5cGUtZHJvcGRvd24gLnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiAxMnJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvb2YtZmlsdGVycyAuZmlsdGVyIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb29mLWZpbHRlcnMgLmZpbHRlciB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7IH0gfVxuICAucHJvb2YtZmlsdGVycyAuZnMtd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiAxMnJlbTsgfVxuICAucHJvb2YtZmlsdGVycyBpIHtcbiAgICBjb2xvcjogI2Q0MTI5NiAhaW1wb3J0YW50OyB9XG5cbi5yZXNwb25zaXZlLXRhYmxlIGEge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnJlc3BvbnNpdmUtdGFibGUgYTpob3ZlciB7XG4gICAgY29sb3I6ICNkNDEyOTY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucmVzcG9uc2l2ZS10YWJsZSAuc29ydGluZ19kaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi52ZXJzaW9uLWZvcm0gYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgaDMge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLnByb29mLWZpbHRlcnMge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuYnV0dG9uLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAudmVyc2lvbi1mb3JtIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0sIC52ZXJzaW9uLWZvcm0gLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5vb2Qtd3AtYWRkLXJlcGVhdGVyLWl0ZW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6ICdLYXJsYSc7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAubWRjLWJ1dHRvbjpob3ZlciwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5idXR0b246aG92ZXIsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTpob3ZlciwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbTpob3ZlciB7XG4gICAgY29sb3I6ICNkNDEyOTYgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5pcy1hY3RpdmUgLm1kYy1idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC5idXR0b24sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWxlX2Rpdl9jbGVhbi53ZnVfY29udGFpbmVyIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIC52ZXJzaW9uLWZvcm0gLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSwgLnZlcnNpb24tZm9ybSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmlzLWFjdGl2ZSAub29kLXdwLWFkZC1yZXBlYXRlci1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBidXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC5idXR0b24sIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC5idXR0b246aG92ZXIsIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAuZmlsZV9kaXZfY2xlYW4ud2Z1X2NvbnRhaW5lciAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgY29sb3I6ICNkNDEyOTYgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4jc2VhcmNoLXJlc3VsdHMgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDIxMiwgMTgsIDE1MCwgMC41KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG5cbiNzZWFyY2gtcmVzdWx0cyAucGFnZS1jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07IH1cbiAgI3NlYXJjaC1yZXN1bHRzIC5wYWdlLWNvbnRlbnQgLnNlYXJjaC1mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDEyOTY7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgI3NlYXJjaC1yZXN1bHRzIC5wYWdlLWNvbnRlbnQgLnNlYXJjaC1mb3JtIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZDQxMjk2ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgICAgI3NlYXJjaC1yZXN1bHRzIC5wYWdlLWNvbnRlbnQgLnNlYXJjaC1mb3JtIGJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAjc2VhcmNoLXJlc3VsdHMgLnBhZ2UtY29udGVudCAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICNzZWFyY2gtcmVzdWx0cyAucGFnZS1jb250ZW50IC5zZWFyY2gtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuI3NlYXJjaC1yZXN1bHRzIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIE1hdGVyaWFsIERlc2lnbiBzZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gICRtZGMtdGhlbWUtcHJpbWFyeTogIzljMjdiMDtcbi8vICAkbWRjLXRoZW1lLXNlY29uZGFyeTogIzc2ZmYwMztcbi8vICAkbWRjLXRoZW1lLWJhY2tncm91bmQ6ICNmZmY7XG4vL1xuXG4vLyRtZGMtdGhlbWUtcHJpbWFyeTogJHByaW1hcnktY29sb3I7XG4vLyRtZGMtdGhlbWUtc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yO1xuLy8kbWRjLXRoZW1lLWJhY2tncm91bmQ6ICNmZmY7XG5cbmJvZHkge1xuICAtLW1kYy10aGVtZS1wcmltYXJ5OiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAtLW1kYy10aGVtZS1wcmltYXJ5LTE6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIC0tbWRjLXRoZW1lLXNlY29uZGFyeTogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LTE6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIC0tbWRjLXRoZW1lLWJhY2tncm91bmQ6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA3MjBweCFpbXBvcnRhbnQ7XG5cbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIjtcblxuJG1kYy1mb3JtLWZpZWxkLWl0ZW0tc3BhY2luZzogNHB4O1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuLm1kYy1mb3JtLWZpZWxkIHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoYm9keTIpO1xuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQpO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gID4gbGFiZWwge1xuICAgIG9yZGVyOiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctbGVmdDogJG1kYy1mb3JtLWZpZWxkLWl0ZW0tc3BhY2luZztcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgID4gbGFiZWwge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkbWRjLWZvcm0tZmllbGQtaXRlbS1zcGFjaW5nO1xuICAgIH1cbiAgfVxufVxuXG4ubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCB7XG4gID4gbGFiZWwge1xuICAgIG9yZGVyOiAtMTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZGMtZm9ybS1maWVsZC1pdGVtLXNwYWNpbmc7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICA+IGxhYmVsIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHBhZGRpbmctbGVmdDogJG1kYy1mb3JtLWZpZWxkLWl0ZW0tc3BhY2luZztcbiAgICB9XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGVcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy10eXBvZ3JhcGh5LWJhc2Uge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1kYy10eXBvZ3JhcGh5LWJhc2Uge1xuICAgICN7JGtleX06ICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHkoJHN0eWxlKSB7XG4gICRzdHlsZS1wcm9wczogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzdHlsZSBzcGVjaWZpZWQhICN7JHN0eWxlfSBkb2Vzbid0IGV4aXN0LiBDaG9vc2Ugb25lIG9mICN7bWFwLWtleXMoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcyl9XCI7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHN0eWxlLXByb3BzIHtcbiAgICAjeyRrZXl9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gRWxlbWVudCBtdXN0IGJlIGBkaXNwbGF5OiBibG9ja2Agb3IgYGRpc3BsYXk6IGlubGluZS1ibG9ja2AgZm9yIHRoaXMgdG8gd29yay5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeS1vdmVyZmxvdy1lbGxpcHNpcyB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKCRkaXN0YW5jZSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSk7XG5cbiAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtYm90dG9tKCRkaXN0YW5jZSkge1xuICBtYXJnaW4tYm90dG9tOiAtMSAqICRkaXN0YW5jZTtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSk7XG5cbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTEgKiAkZGlzdGFuY2U7XG4gIH1cbn1cblxuQG1peGluIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAkZGlzdGFuY2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5cbiRtZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kbWRjLXR5cG9ncmFwaHktYmFzZTogKFxuICBmb250LWZhbWlseTogJG1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LFxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlLFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCxcbik7XG5cbiRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXM6IChcbiAgdGhpbjogMTAwLFxuICBsaWdodDogMzAwLFxuICByZWd1bGFyOiA0MDAsXG4gIG1lZGl1bTogNTAwLFxuICBib2xkOiA3MDAsXG4gIGJsYWNrOiA5MDBcbikgIWRlZmF1bHQ7XG5cbiRtZGMtdHlwb2dyYXBoeS1zdHlsZXM6IG1kYy10eXBvZ3JhcGh5LXNldC1zdHlsZXNfKFxuICAkbWRjLXR5cG9ncmFwaHktYmFzZSxcbiAgKFxuICAgIGhlYWRsaW5lMTogKFxuICAgICAgZm9udC1zaXplOiA2cmVtLCAvLyA5NnNwXG4gICAgICBsaW5lLWhlaWdodDogNnJlbSxcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIGxpZ2h0KSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC0xLjUsIDYpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lMjogKFxuICAgICAgZm9udC1zaXplOiAzLjc1cmVtLCAvLyA2MHNwXG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbSxcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIGxpZ2h0KSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC0uNSwgMy43NSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgaGVhZGxpbmUzOiAoXG4gICAgICBmb250LXNpemU6IDNyZW0sIC8vIDQ4cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbSwgLy8gNTBweFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lNDogKFxuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbSwgLy8gMzRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSwgLy8gNDBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMjUsIDIuMTI1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBoZWFkbGluZTU6IChcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtLCAvLyAyNHNwXG4gICAgICBsaW5lLWhlaWdodDogMnJlbSwgLy8gMzJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lNjogKFxuICAgICAgZm9udC1zaXplOiAxLjI1cmVtLCAvLyAyMHNwXG4gICAgICBsaW5lLWhlaWdodDogMnJlbSwgLy8gMzJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgbWVkaXVtKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4yNSwgMS4yNSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgc3VidGl0bGUxOiAoXG4gICAgICBmb250LXNpemU6IDFyZW0sIC8vIDE2c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtLCAvLyAyOHNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCByZWd1bGFyKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4xNSwgMSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgc3VidGl0bGUyOiAoXG4gICAgICBmb250LXNpemU6IC44NzVyZW0sIC8vIDE0c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbSwgLy8gMjJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgbWVkaXVtKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4xLCAuODc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBib2R5MTogKFxuICAgICAgZm9udC1zaXplOiAxcmVtLCAvLyAxNnNwXG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtLCAvLyAyNHNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCByZWd1bGFyKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC41LCAxKSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBib2R5MjogKFxuICAgICAgZm9udC1zaXplOiAuODc1cmVtLCAvLyAxNHNwXG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbSwgLy8gMjBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMjUsIC44NzUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGNhcHRpb246IChcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtLCAvLyAxMnNwXG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbSwgLy8gMjBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguNCwgLjc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBidXR0b246IChcbiAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbSwgLy8gMTRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW0sIC8vIDM2c3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygxLjI1LCAuODc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2VcbiAgICApLFxuICAgIG92ZXJsaW5lOiAoXG4gICAgICBmb250LXNpemU6IC43NXJlbSwgLy8gMTJzcFxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW0sIC8vIDMyc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygyLCAuNzUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lLFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZVxuICAgICksXG4gIClcbikgIWRlZmF1bHQ7XG4iLCJcbi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AZnVuY3Rpb24gbWRjLXR5cG9ncmFwaHktZ2V0LWdsb2JhbC12YXJpYWJsZV8oJHN0eWxlKSB7XG4gIEBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTFcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTNcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMztcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTRcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNDtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTVcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTZcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJzdWJ0aXRsZTFcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLXN1YnRpdGxlMTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJzdWJ0aXRsZTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLXN1YnRpdGxlMjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJib2R5MVwiIHtcbiAgICBAcmV0dXJuICRtZGMtdHlwb2dyYXBoeS1zdHlsZXMtYm9keTE7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiYm9keTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWJvZHkyO1xuICB9IEBlbHNlIGlmICRzdHlsZSA9PSBcImNhcHRpb25cIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWNhcHRpb247XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiYnV0dG9uXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1idXR0b247XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwib3ZlcmxpbmVcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLW92ZXJsaW5lO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBtZGMtdHlwb2dyYXBoeS1zZXQtc3R5bGVzXygkYmFzZS1zdHlsZXMsICRzY2FsZS1zdHlsZXMpIHtcbiAgQGVhY2ggJHN0eWxlLCAkc3R5bGUtcHJvcHMgaW4gJHNjYWxlLXN0eWxlcyB7XG5cbiAgICAvLyBNZXJnZSBiYXNlIHByb3BlcnRpZXMgZm9yIGFsbCBzdHlsZXMuXG4gICAgJHN0eWxlLXByb3BzOiBtYXAtbWVyZ2UoJGJhc2Utc3R5bGVzLCAkc3R5bGUtcHJvcHMpO1xuXG4gICAgLy8gTWVyZ2UgZ2xvYmFsIG92ZXJyaWRlcyBvbnRvIGVhY2ggc3R5bGUuXG4gICAgQGlmIGdsb2JhbF92YXJpYWJsZV9leGlzdHModW5xdW90ZShcIm1kYy10eXBvZ3JhcGh5LXN0eWxlcy0jeyRzdHlsZX1cIikpIHtcbiAgICAgICRzdHlsZS1wcm9wczogbWFwLW1lcmdlKCRzdHlsZS1wcm9wcywgbWRjLXR5cG9ncmFwaHktZ2V0LWdsb2JhbC12YXJpYWJsZV8oI3skc3R5bGV9KSk7XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgb3JpZ2luYWwgc3R5bGVzIHdpdGggbmV3IHN0eWxlcy5cbiAgICAkc2NhbGUtc3R5bGVzOiBtYXAtbWVyZ2UoJHNjYWxlLXN0eWxlcywgKCN7JHN0eWxlfTogJHN0eWxlLXByb3BzKSk7XG4gIH1cblxuICBAcmV0dXJuICRzY2FsZS1zdHlsZXM7XG59XG5cbkBmdW5jdGlvbiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKCR0cmFja2luZywgJGZvbnQtc2l6ZSkge1xuICBAcmV0dXJuICR0cmFja2luZyAvICgkZm9udC1zaXplICogMTYpICogMWVtO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IHRoZW1lIGNvbG9yIHN0eWxlIHRvIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkuXG4vLyAkcHJvcGVydHkgaXMgdHlwaWNhbGx5IGNvbG9yIG9yIGJhY2tncm91bmQtY29sb3IsIGJ1dCBjYW4gYmUgYW55IENTUyBwcm9wZXJ0eSB0aGF0IGFjY2VwdHMgY29sb3IgdmFsdWVzLlxuLy8gJHN0eWxlIHNob3VsZCBiZSBvbmUgb2YgdGhlIG1hcCBrZXlzIGluICRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzIChfdmFyaWFibGVzLnNjc3MpLCBvciBhIGNvbG9yIHZhbHVlLlxuLy8gJGVkZ2VPcHRPdXQgY29udHJvbHMgd2hldGhlciB0byBmZWF0dXJlLWRldGVjdCBhcm91bmQgRWRnZSB0byBhdm9pZCBlbWl0dGluZyBDU1MgdmFyaWFibGVzIGZvciBpdCxcbi8vIGludGVuZGVkIGZvciB1c2UgaW4gY2FzZXMgd2hlcmUgaW50ZXJhY3Rpb25zIHdpdGggcHNldWRvLWVsZW1lbnQgc3R5bGVzIGNhdXNlIHByb2JsZW1zIGR1ZSB0byBFZGdlIGJ1Z3MuXG5AbWl4aW4gbWRjLXRoZW1lLXByb3AoJHByb3BlcnR5LCAkc3R5bGUsICRpbXBvcnRhbnQ6IGZhbHNlLCAkZWRnZU9wdE91dDogZmFsc2UpIHtcbiAgQGlmIG1kYy10aGVtZS1pcy12YWxpZC10aGVtZS1wcm9wLXZhbHVlXygkc3R5bGUpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRzdHlsZSAhaW1wb3J0YW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAkc3R5bGU7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGU6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC1rZXlzKCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgICB9XG5cbiAgICAkdmFsdWU6IG1hcC1nZXQoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSk7XG5cbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSAhaW1wb3J0YW50O1xuXG4gICAgICBAaWYgJGVkZ2VPcHRPdXQge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjphdXRvKSB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuXG4gICAgICBAaWYgJGVkZ2VPcHRPdXQge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjphdXRvKSB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgI3skcHJvcGVydHl9OiB2YXIoLS1tZGMtdGhlbWUtI3skc3R5bGV9LCAkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gTWFpbiB0aGVtZSBjb2xvcnMgZm9yIHlvdXIgYnJhbmQuXG4vL1xuLy8gSWYgeW91J3JlIGEgdXNlciBjdXN0b21pemluZyB5b3VyIGNvbG9yIHNjaGVtZSBpbiBTQVNTLCB0aGVzZSBhcmUgcHJvYmFibHkgdGhlIG9ubHkgdmFyaWFibGVzIHlvdSBuZWVkIHRvIGNoYW5nZS5cbi8vXG5cbiRtZGMtdGhlbWUtcHJpbWFyeTogIzYyMDBlZSAhZGVmYXVsdDsgLy8gYmFzZWxpbmUgcHVycGxlLCA1MDAgdG9uZVxuJG1kYy10aGVtZS1vbi1wcmltYXJ5OiBpZihtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkbWRjLXRoZW1lLXByaW1hcnkpID09IFwiZGFya1wiLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcblxuLy8gVGhlICRtZGMtdGhlbWUtYWNjZW50IHZhcmlhYmxlIGlzIERFUFJFQ0FURUQgLSBpdCBleGlzdHMgcHVyZWx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuLy8gVGhlICRtZGMtdGhlbWUtc2Vjb25kYXJ5KiB2YXJpYWJsZXMgc2hvdWxkIGJlIHVzZWQgZm9yIGFsbCBuZXcgcHJvamVjdHMuXG4kbWRjLXRoZW1lLWFjY2VudDogIzAxODc4NiAhZGVmYXVsdDsgLy8gYmFzZWxpbmUgdGVhbCwgNjAwIHRvbmVcbiRtZGMtdGhlbWUtc2Vjb25kYXJ5OiAkbWRjLXRoZW1lLWFjY2VudCAhZGVmYXVsdDtcbiRtZGMtdGhlbWUtb24tc2Vjb25kYXJ5OiBpZihtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkbWRjLXRoZW1lLXNlY29uZGFyeSkgPT0gXCJkYXJrXCIsICMwMDAsICNmZmYpICFkZWZhdWx0O1xuJG1kYy10aGVtZS1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0OyAvLyBXaGl0ZVxuXG4kbWRjLXRoZW1lLXN1cmZhY2U6ICNmZmYgIWRlZmF1bHQ7XG4kbWRjLXRoZW1lLW9uLXN1cmZhY2U6IGlmKG1kYy10aGVtZS1jb250cmFzdC10b25lKCRtZGMtdGhlbWUtc3VyZmFjZSkgPT0gXCJkYXJrXCIsICMwMDAsICNmZmYpICFkZWZhdWx0O1xuXG4kbWRjLXRoZW1lLWVycm9yOiAjYjAwMDIwICFkZWZhdWx0O1xuJG1kYy10aGVtZS1vbi1lcnJvcjogaWYobWRjLXRoZW1lLWNvbnRyYXN0LXRvbmUoJG1kYy10aGVtZS1lcnJvcikgPT0gXCJkYXJrXCIsICMwMDAsICNmZmYpICFkZWZhdWx0O1xuXG4vL1xuLy8gVGV4dCBjb2xvcnMgYWNjb3JkaW5nIHRvIGxpZ2h0IHZzIGRhcmsgYW5kIHRleHQgdHlwZS5cbi8vXG5cbiRtZGMtdGhlbWUtdGV4dC1jb2xvcnM6IChcbiAgZGFyazogKFxuICAgIHByaW1hcnk6IHJnYmEoYmxhY2ssIC44NyksXG4gICAgc2Vjb25kYXJ5OiByZ2JhKGJsYWNrLCAuNTQpLFxuICAgIGhpbnQ6IHJnYmEoYmxhY2ssIC4zOCksXG4gICAgZGlzYWJsZWQ6IHJnYmEoYmxhY2ssIC4zOCksXG4gICAgaWNvbjogcmdiYShibGFjaywgLjM4KVxuICApLFxuICBsaWdodDogKFxuICAgIHByaW1hcnk6IHdoaXRlLFxuICAgIHNlY29uZGFyeTogcmdiYSh3aGl0ZSwgLjcpLFxuICAgIGhpbnQ6IHJnYmEod2hpdGUsIC41KSxcbiAgICBkaXNhYmxlZDogcmdiYSh3aGl0ZSwgLjUpLFxuICAgIGljb246IHJnYmEod2hpdGUsIC41KVxuICApXG4pICFkZWZhdWx0O1xuXG4kbWRjLXRoZW1lLXRleHQtZW1waGFzaXM6IChcbiAgaGlnaDogLjg3LFxuICBtZWRpdW06IC42LFxuICBkaXNhYmxlZDogLjM4LFxuKTtcblxuQGZ1bmN0aW9uIG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKCR0ZXh0LXN0eWxlLCAkZmlsbC1jb2xvcikge1xuICAkY29udHJhc3QtdG9uZTogbWRjLXRoZW1lLWNvbnRyYXN0LXRvbmUoJGZpbGwtY29sb3IpO1xuXG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRtZGMtdGhlbWUtdGV4dC1jb2xvcnMsICRjb250cmFzdC10b25lKSwgJHRleHQtc3R5bGUpO1xufVxuXG4vL1xuLy8gUHJpbWFyeSB0ZXh0IGNvbG9ycyBmb3IgZWFjaCBvZiB0aGUgdGhlbWUgY29sb3JzLlxuLy9cblxuJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXM6IChcbiAgLy8gUHJpbWFyeVxuICBwcmltYXJ5OiAkbWRjLXRoZW1lLXByaW1hcnksXG4gIC8vIFNlY29uZGFyeVxuICBzZWNvbmRhcnk6ICRtZGMtdGhlbWUtc2Vjb25kYXJ5LFxuICAvLyBCYWNrZ3JvdW5kXG4gIGJhY2tncm91bmQ6ICRtZGMtdGhlbWUtYmFja2dyb3VuZCxcbiAgLy8gU3VyZmFjZVxuICBzdXJmYWNlOiAkbWRjLXRoZW1lLXN1cmZhY2UsXG4gIC8vIEVycm9yXG4gIGVycm9yOiAkbWRjLXRoZW1lLWVycm9yLFxuICBvbi1wcmltYXJ5OiAkbWRjLXRoZW1lLW9uLXByaW1hcnksXG4gIG9uLXNlY29uZGFyeTogJG1kYy10aGVtZS1vbi1zZWNvbmRhcnksXG4gIG9uLXN1cmZhY2U6ICRtZGMtdGhlbWUtb24tc3VyZmFjZSxcbiAgb24tZXJyb3I6ICRtZGMtdGhlbWUtb24tZXJyb3IsXG4gIC8vIFRleHQtcHJpbWFyeSBvbiBcImJhY2tncm91bmRcIiBiYWNrZ3JvdW5kXG4gIHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhwcmltYXJ5LCAkbWRjLXRoZW1lLWJhY2tncm91bmQpLFxuICB0ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhzZWNvbmRhcnksICRtZGMtdGhlbWUtYmFja2dyb3VuZCksXG4gIHRleHQtaGludC1vbi1iYWNrZ3JvdW5kOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhoaW50LCAkbWRjLXRoZW1lLWJhY2tncm91bmQpLFxuICB0ZXh0LWRpc2FibGVkLW9uLWJhY2tncm91bmQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGRpc2FibGVkLCAkbWRjLXRoZW1lLWJhY2tncm91bmQpLFxuICB0ZXh0LWljb24tb24tYmFja2dyb3VuZDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaWNvbiwgJG1kYy10aGVtZS1iYWNrZ3JvdW5kKSxcbiAgLy8gVGV4dC1wcmltYXJ5IG9uIFwibGlnaHRcIiBiYWNrZ3JvdW5kXG4gIHRleHQtcHJpbWFyeS1vbi1saWdodDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8ocHJpbWFyeSwgbGlnaHQpLFxuICB0ZXh0LXNlY29uZGFyeS1vbi1saWdodDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oc2Vjb25kYXJ5LCBsaWdodCksXG4gIHRleHQtaGludC1vbi1saWdodDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaGludCwgbGlnaHQpLFxuICB0ZXh0LWRpc2FibGVkLW9uLWxpZ2h0OiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhkaXNhYmxlZCwgbGlnaHQpLFxuICB0ZXh0LWljb24tb24tbGlnaHQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGljb24sIGxpZ2h0KSxcbiAgLy8gVGV4dC1wcmltYXJ5IG9uIFwiZGFya1wiIGJhY2tncm91bmRcbiAgdGV4dC1wcmltYXJ5LW9uLWRhcms6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHByaW1hcnksIGRhcmspLFxuICB0ZXh0LXNlY29uZGFyeS1vbi1kYXJrOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhzZWNvbmRhcnksIGRhcmspLFxuICB0ZXh0LWhpbnQtb24tZGFyazogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaGludCwgZGFyayksXG4gIHRleHQtZGlzYWJsZWQtb24tZGFyazogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oZGlzYWJsZWQsIGRhcmspLFxuICB0ZXh0LWljb24tb24tZGFyazogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaWNvbiwgZGFyaylcbik7XG5cbi8vIElmIGAkc3R5bGVgIGlzIGEgY29sb3IgKGEgbGl0ZXJhbCBjb2xvciB2YWx1ZSwgYGN1cnJlbnRDb2xvcmAsIG9yIGEgQ1NTIGN1c3RvbSBwcm9wZXJ0eSksIGl0IGlzIHJldHVybmVkIHZlcmJhdGltLlxuLy8gT3RoZXJ3aXNlLCBgJHN0eWxlYCBpcyB0cmVhdGVkIGFzIGEgdGhlbWUgcHJvcGVydHkgbmFtZSwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZyb21cbi8vIGAkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlc2AgaXMgcmV0dXJuZWQuIElmIHRoaXMgYWxzbyBmYWlscywgYW4gZXJyb3IgaXMgdGhyb3duLlxuLy9cbi8vIFRoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIGBtZGMtdGhlbWUtcHJvcGAgY2Fubm90IGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4sIGBib3gtc2hhZG93YCkuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gMS4gbWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSkgPT4gXCIjNjIwMGVlXCJcbi8vIDIuIG1kYy10aGVtZS1wcm9wLXZhbHVlKGJsdWUpICAgID0+IFwiYmx1ZVwiXG4vL1xuLy8gTk9URTogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGRlZmluZWQgaW4gX3ZhcmlhYmxlcy5zY3NzIGluc3RlYWQgb2YgX2Z1bmN0aW9ucy5zY3NzIHRvIGF2b2lkIGNpcmN1bGFyIGltcG9ydHMuXG5AZnVuY3Rpb24gbWRjLXRoZW1lLXByb3AtdmFsdWUoJHN0eWxlKSB7XG4gIEBpZiBtZGMtdGhlbWUtaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgQHJldHVybiAkc3R5bGU7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHRoZW1lIHByb3BlcnR5OiAnI3skc3R5bGV9Jy4gQ2hvb3NlIG9uZSBvZjogI3ttYXAta2V5cygkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyl9XCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSk7XG59XG5cbi8vIE5PVEU6IFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBkZWZpbmVkIGluIF92YXJpYWJsZXMuc2NzcyBpbnN0ZWFkIG9mIF9mdW5jdGlvbnMuc2NzcyB0byBhdm9pZCBjaXJjdWxhciBpbXBvcnRzLlxuQGZ1bmN0aW9uIG1kYy10aGVtZS1hY2Nlc3NpYmxlLWluay1jb2xvcigkZmlsbC1jb2xvciwgJHRleHQtc3R5bGU6IHByaW1hcnkpIHtcbiAgJGZpbGwtY29sb3ItdmFsdWU6IG1kYy10aGVtZS1wcm9wLXZhbHVlKCRmaWxsLWNvbG9yKTtcbiAgJGNvbG9yLW1hcC1mb3ItdG9uZTogbWFwLWdldCgkbWRjLXRoZW1lLXRleHQtY29sb3JzLCBtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkZmlsbC1jb2xvci12YWx1ZSkpO1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGNvbG9yLW1hcC1mb3ItdG9uZSwgJHRleHQtc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkICR0ZXh0LXN0eWxlOiAnI3skdGV4dC1zdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC1rZXlzKCRjb2xvci1tYXAtZm9yLXRvbmUpfVwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvci1tYXAtZm9yLXRvbmUsICR0ZXh0LXN0eWxlKTtcbn1cblxuLy8gTk9URTogVGhpcyBmdW5jdGlvbiBpcyBkZXBlbmRlZCB1cG9uIGJ5IG1kYy10aGVtZS1wcm9wLXZhbHVlIChhYm92ZSkgYW5kIHRodXMgbXVzdCBiZSBkZWZpbmVkIGluIHRoaXMgZmlsZS5cbkBmdW5jdGlvbiBtZGMtdGhlbWUtaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkc3R5bGUpID09IFwiY29sb3JcIiBvciAkc3R5bGUgPT0gXCJjdXJyZW50Q29sb3JcIiBvciBzdHJfc2xpY2UoJHN0eWxlLCAxLCA0KSA9PSBcInZhcihcIjtcbn1cblxuQGZ1bmN0aW9uIG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzKCRlbXBoYXNpcykge1xuICBAcmV0dXJuIG1hcC1nZXQoJG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzLCAkZW1waGFzaXMpO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbi8vIE1EQyBSaXBwbGUga2V5ZnJhbWVzIGFyZSBzcGxpdCBpbnRvIHRoZWlyIG93biBmaWxlIHNvIHRoYXQgX21peGlucy5zY3NzIGNhbiByZWx5IG9uIHRoZW0uXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtcmlwcGxlLWtleWZyYW1lc18ge1xuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIC8vIE5PVEU6IEZvciB0aGVzZSBrZXlmcmFtZXMsIHdlIGRvIG5vdCBuZWVkIGN1c3RvbSBwcm9wZXJ0eSBmYWxsYmFja3MgYmVjYXVzZSB0aGV5IGFyZSBvbmx5XG4gICAgICAvLyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYC5tZGMtcmlwcGxlLXVwZ3JhZGVkYC4gU2luY2UgTURDUmlwcGxlRm91bmRhdGlvbiBjaGVja3MgdG8gZW5zdXJlXG4gICAgICAvLyB0aGF0IGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBzdXBwb3J0ZWQgd2l0aGluIHRoZSBicm93c2VyIGJlZm9yZSBhZGRpbmcgdGhpcyBjbGFzcywgd2UgY2FuXG4gICAgICAvLyBzYWZlbHkgdXNlIHRoZW0gd2l0aG91dCBhIGZhbGxiYWNrLlxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQsIDApKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIC4yLCAxKSAhZGVmYXVsdDtcbiRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kbWRjLWFuaW1hdGlvbi1hY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuJG1kYy1hbmltYXRpb24tc2hhcnAtY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIC42LCAxKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9rZXlmcmFtZXNcIjtcblxuLy8gRW5zdXJlIHRoYXQgc3R5bGVzIG5lZWRlZCBieSBhbnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgYXJlIGVtaXR0ZWQsIGJ1dCBvbmx5IG9uY2UuXG4vLyAoRXZlcnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgaW1wb3J0cyB0aGVzZSBtaXhpbnMsIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGltcG9ydCBtZGMtcmlwcGxlLnNjc3MuKVxuQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLXJpcHBsZS9jb21tb25cIikge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWtleWZyYW1lc187XG5cbiAgLy8gU3R5bGVzIHVzZWQgdG8gZGV0ZWN0IGJ1Z2d5IGJlaGF2aW9yIG9mIENTUyBjdXN0b20gcHJvcGVydGllcyBpbiBFZGdlLlxuICAvLyBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzExNDk1NDQ4L1xuICAvLyBUaGlzIGlzIGluY2x1ZGVkIGluIF9taXhpbnMuc2NzcyByYXRoZXIgdGhhbiBtZGMtcmlwcGxlLnNjc3Mgc28gdGhhdCBpdCB3aWxsIGJlXG4gIC8vIHByZXNlbnQgZm9yIG90aGVyIGNvbXBvbmVudHMgd2hpY2ggcmVseSBvbiByaXBwbGUgYXMgd2VsbCBhcyBtZGMtcmlwcGxlIGl0c2VsZi5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZS0tdGVzdC1lZGdlLXZhci1idWcge1xuICAgIC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXI6IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogdmFyKC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvY29tbW9uXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSByYWRpb1xuLm1kYy1yYWRpbyB7XG4gIEBpbmNsdWRlIG1kYy1yYWRpby11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRtZGMtcmFkaW8tdW5jaGVja2VkLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXJhZGlvLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRtZGMtcmFkaW8tYmFzZWxpbmUtdGhlbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmFkaW8taW5rLWNvbG9yKCRtZGMtcmFkaW8tYmFzZWxpbmUtdGhlbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmFkaW8tZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRtZGMtcmFkaW8tYmFzZWxpbmUtdGhlbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZDtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcygkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkbWRjLXJhZGlvLXRvdWNoLWFyZWE7XG4gIGhlaWdodDogJG1kYy1yYWRpby10b3VjaC1hcmVhO1xuICBwYWRkaW5nOiAoJG1kYy1yYWRpby10b3VjaC1hcmVhIC0gJG1kYy1yYWRpby11aS1zaXplKSAvIDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xuXG4gIC8vIENvbnRhaW5lciBmb3IgcmFkaW8gY2lyY2xlcyBhbmQgcmlwcGxlLlxuICAmX19iYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6ICgkbWRjLXJhZGlvLXRvdWNoLWFyZWEgLSAkbWRjLXJhZGlvLXVpLXNpemUpIC8gMjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbWRjLXJhZGlvLXVpLXBjdDtcbiAgICBoZWlnaHQ6ICRtZGMtcmFkaW8tdWktcGN0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZXhpdChvcGFjaXR5KSwgbWRjLXJhZGlvLWV4aXQodHJhbnNmb3JtKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgJl9fb3V0ZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gICZfX2lubmVyLWNpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWV4aXQodHJhbnNmb3JtKSwgbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAmX19uYXRpdmUtY29udHJvbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIHtcbiAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCxcbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZW50ZXIob3BhY2l0eSksIG1kYy1yYWRpby1lbnRlcih0cmFuc2Zvcm0pO1xuXG4gICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICAgIHRyYW5zaXRpb246IG1kYy1yYWRpby1lbnRlcihib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKSwgbWRjLXJhZGlvLWVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi5tZGMtcmFkaW8tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB7XG4gICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWVudGVyKHRyYW5zZm9ybSksIG1kYy1yYWRpby1lbnRlcihib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCxcblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG1kYy1yYWRpby1jaXJjbGUtY29sb3I7XG4gICAgfVxuXG4gICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG1kYy1yYWRpby1jaXJjbGUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzIHtcbiAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMiwgMik7XG4gICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWVudGVyKG9wYWNpdHkpLCBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKTtcbiAgICBvcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuICB9XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1yaXBwbGUtc3VyZmFjZSgpIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgLy8gQWxzbyB0cmFuc2l0aW9uIGJhY2tncm91bmQtY29sb3IgdG8gYXZvaWQgdW5uYXR1cmFsIGNvbG9yIGZsYXNoZXMgd2hlbiB0b2dnbGluZyBhY3RpdmF0ZWQvc2VsZWN0ZWQgc3RhdGVcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAkbWRjLXN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJG1kYy1zdGF0ZXMtd2FzaC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgei1pbmRleDogMTsgLy8gRW5zdXJlIHRoYXQgdGhlIHJpcHBsZSB3YXNoIGZvciBob3Zlci9mb2N1cyBzdGF0ZXMgaXMgZGlzcGxheWVkIG9uIHRvcCBvZiBwb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzXG4gIH1cblxuICAvLyBDb21tb24gc3R5bGVzIGZvciB1cGdyYWRlZCBzdXJmYWNlcyAoc29tZSBvZiB0aGVzZSBkZXBlbmQgb24gY3VzdG9tIHByb3BlcnRpZXMgc2V0IHZpYSBKUyBvciBvdGhlciBtaXhpbnMpXG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjpcbiAgICAgICRtZGMtcmlwcGxlLXRyYW5zbGF0ZS1kdXJhdGlvbiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiBmb3J3YXJkcyxcbiAgICAgICRtZGMtcmlwcGxlLWZhZGUtaW4tZHVyYXRpb24gbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIGZvcndhcmRzO1xuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogJG1kYy1yaXBwbGUtZmFkZS1vdXQtZHVyYXRpb24gbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dDtcbiAgICAvLyBSZXRhaW4gdHJhbnNmb3JtIGZyb20gbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gYWN0aXZhdGlvblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvcikge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBAaWYgYWxwaGEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSkgPiAwIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvciwgJGVkZ2VPcHRPdXQ6IHRydWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSWYgYSBjb2xvciB3aXRoIDAgYWxwaGEgaXMgc3BlY2lmaWVkLCBkb24ndCByZW5kZXIgdGhlIHJpcHBsZSBwc2V1ZG8tZWxlbWVudHMgYXQgYWxsLlxuICAgICAgLy8gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcnkgdHJhbnNpdGlvbnMgYW5kIG92ZXJmbG93LlxuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSgkb3BhY2l0eSkge1xuICAvLyBCYWNrZ3JvdW5kIHdhc2ggc3R5bGVzLCBmb3IgYm90aCBDU1Mtb25seSBhbmQgdXBncmFkZWQgc3RhdGVmdWwgc3VyZmFjZXNcbiAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KCRvcGFjaXR5LCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UpIHtcbiAgLy8gRm9jdXMgb3ZlcnJpZGVzIGhvdmVyIGJ5IHJldXNpbmcgdGhlIDo6YmVmb3JlIHBzZXVkby1lbGVtZW50LlxuICAvLyA6Zm9jdXMtd2l0aGluIGdlbmVyYWxseSB3b3JrcyBvbiBub24tTVMgYnJvd3NlcnMgYW5kIG1hdGNoZXMgd2hlbiBhICpjaGlsZCogb2YgdGhlIGVsZW1lbnQgaGFzIGZvY3VzLlxuICAvLyBJdCBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIGEgY29tcG9uZW50IGhhcyBhIGZvY3VzYWJsZSBlbGVtZW50IHdpdGhpbiB0aGUgcm9vdCBub2RlLCBlLmcuIHRleHQgZmllbGQsXG4gIC8vIGJ1dCB1bmRlc2lyYWJsZSBpbiBnZW5lcmFsIGluIGNhc2Ugb2YgbmVzdGVkIHN0YXRlZnVsIGNvbXBvbmVudHMuXG4gIC8vIFdlIHVzZSBhIG1vZGlmaWVyIGNsYXNzIGZvciBKUy1lbmFibGVkIHN1cmZhY2VzIHRvIHN1cHBvcnQgYWxsIHVzZSBjYXNlcyBpbiBhbGwgYnJvd3NlcnMuXG4gICRjc3NPbmx5Rm9jdXNTZWxlY3RvcjogaWYoXG4gICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICAgXCImOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSwgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzLXdpdGhpbjo6YmVmb3JlXCIsXG4gICAgXCImOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZVwiXG4gICk7XG5cbiAgI3skY3NzT25seUZvY3VzU2VsZWN0b3J9LFxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlIHtcbiAgICAvLyBOb3RlIHRoYXQgdGhpcyBkdXJhdGlvbiBpcyBvbmx5IGVmZmVjdGl2ZSBvbiBmb2N1cywgbm90IGJsdXJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc3RhdGVzLXByZXNzLW9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgLy8gU3R5bGVzIGZvciBub24tdXBncmFkZWQgKENTUy1vbmx5KSBzdGF0ZWZ1bCBzdXJmYWNlc1xuXG4gICY6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKSB7XG4gICAgLy8gQXBwbHkgcHJlc3MgYWRkaXRpdmVseSBieSB1c2luZyB0aGUgOjphZnRlciBwc2V1ZG8tZWxlbWVudFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG1kYy1yaXBwbGUtZmFkZS1vdXQtZHVyYXRpb24gbGluZWFyO1xuICAgIH1cblxuICAgICY6YWN0aXZlOjphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWRjLXJpcHBsZS1mYWRlLWluLWR1cmF0aW9uO1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogI3skb3BhY2l0eX07XG4gIH1cbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBiYXNlIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIG1kYy1zdGF0ZXMoJGNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaW50ZXJhY3Rpb25zXygkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50KTtcbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBhY3RpdmF0ZWQgc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gbWRjLXN0YXRlcy1hY3RpdmF0ZWQoJGNvbG9yLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UpIHtcbiAgJGFjdGl2YXRlZC1vcGFjaXR5OiBtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBhY3RpdmF0ZWQpO1xuXG4gICYtLWFjdGl2YXRlZCB7XG4gICAgLy8gU3R5bGVsaW50IHNlZW1zIHRvIHRoaW5rIHRoYXQgJyYnIHF1YWxpZmllcyBhcyBhIHR5cGUgc2VsZWN0b3IgaGVyZT9cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJGFjdGl2YXRlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaW50ZXJhY3Rpb25zXygkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LCAkYWN0aXZhdGVkLW9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBtaXhpbiBmb3Igc2VsZWN0ZWQgc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gbWRjLXN0YXRlcy1zZWxlY3RlZCgkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSkge1xuICAkc2VsZWN0ZWQtb3BhY2l0eTogbWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgc2VsZWN0ZWQpO1xuXG4gICYtLXNlbGVjdGVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJHNlbGVjdGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1pbnRlcmFjdGlvbnNfKCRjb2xvciwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRzZWxlY3RlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZCgkcmFkaXVzOiAxMDAlKSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXN9KTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAjeyRyYWRpdXN9KTtcbiAgICB3aWR0aDogJHJhZGl1cyAqIDI7XG4gICAgaGVpZ2h0OiAkcmFkaXVzICogMjtcbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKCRyYWRpdXM6IDEwMCUpIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgdG9wOiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSk7XG4gICAgd2lkdGg6ICRyYWRpdXM7XG4gICAgaGVpZ2h0OiAkcmFkaXVzO1xuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pKTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KSk7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc3RhdGVzLWludGVyYWN0aW9uc18oJGNvbG9yLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCwgJG9wYWNpdHktbW9kaWZpZXI6IDApIHtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikgKyAkb3BhY2l0eS1tb2RpZmllcik7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eShcbiAgICBtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBmb2N1cykgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudFxuICApO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLXByZXNzLW9wYWNpdHkobWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgcHJlc3MpICsgJG9wYWNpdHktbW9kaWZpZXIpO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbiRtZGMtcmFkaW8tdG91Y2gtYXJlYTogNDBweDtcbiRtZGMtcmFkaW8tdWktc2l6ZTogMjBweDtcbiRtZGMtcmFkaW8tdWktcGN0OiBwZXJjZW50YWdlKCRtZGMtcmFkaW8tdWktc2l6ZSAvICRtZGMtcmFkaW8tdG91Y2gtYXJlYSk7XG4kbWRjLXJhZGlvLXRyYW5zaXRpb24tZHVyYXRpb246IDEyMG1zO1xuJG1kYy1yYWRpby1yaXBwbGUtb3BhY2l0eTogLjE0O1xuJG1kYy1yYWRpby1iYXNlbGluZS10aGVtZS1jb2xvcjogc2Vjb25kYXJ5O1xuJG1kYy1yYWRpby11bmNoZWNrZWQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC41NCk7XG4kbWRjLXJhZGlvLWNpcmNsZS1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjI2KTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLXJhZGlvLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJhZGlvLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvcikge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1yYWRpby1pbmstY29sb3IoJGNvbG9yKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1yYWRpby1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yKSB7XG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXJpcHBsZS1mYWRlLWluLWR1cmF0aW9uOiA3NW1zO1xuJG1kYy1yaXBwbGUtZmFkZS1vdXQtZHVyYXRpb246IDE1MG1zO1xuJG1kYy1yaXBwbGUtdHJhbnNsYXRlLWR1cmF0aW9uOiAyMjVtcztcbiRtZGMtc3RhdGVzLXdhc2gtZHVyYXRpb246IDE1bXM7XG5cbiRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA0LFxuICBmb2N1czogLjEyLFxuICBwcmVzczogLjE2LFxuICBzZWxlY3RlZDogLjA4LFxuICBhY3RpdmF0ZWQ6IC4xMlxuKSAhZGVmYXVsdDtcblxuJG1kYy1yaXBwbGUtbGlnaHQtaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA4LFxuICBmb2N1czogLjI0LFxuICBwcmVzczogLjMyLFxuICBzZWxlY3RlZDogLjE2LFxuICBhY3RpdmF0ZWQ6IC4yNFxuKSAhZGVmYXVsdDtcblxuLy8gTGVnYWN5XG5cbiRtZGMtcmlwcGxlLXByZXNzZWQtZGFyay1pbmstb3BhY2l0eTogLjE2O1xuJG1kYy1yaXBwbGUtcHJlc3NlZC1saWdodC1pbmstb3BhY2l0eTogLjMyO1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL2NvbW1vblwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBidXR0b25cbi5tZGMtYnV0dG9uIHtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1iYXNlXztcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1zaGFwZS1yYWRpdXMoc21hbGwpO1xuICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMocHJpbWFyeSk7XG5cbiAgLy8gVGhlIGljb24gQ1NTIGNsYXNzIG92ZXJyaWRlcyBzdHlsZXMgZGVmaW5lZCBpbiB0aGUgLm1hdGVyaWFsLWljb25zIENTU1xuICAvLyBjbGFzcywgd2hpY2ggaXMgbG9hZGVkIHNlcGFyYXRlbHkgc28gdGhlIG9yZGVyIG9mIENTUyBkZWZpbml0aW9ucyBpcyBub3RcbiAgLy8gZ3VhcmFudGVlZC4gVGhlcmVmb3JlLCBpbmNyZWFzZSBzcGVjaWZpdHkgYnkgbmVzdGluZyB0aGlzIGNsYXNzIHRvIGVuc3VyZVxuICAvLyBvdmVycmlkZXMgYXBwbHkuXG4gIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uX19pY29uXztcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc3ZnLm1kYy1idXR0b25fX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb24tc3ZnXztcbiAgfVxufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQsXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQge1xuICAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgLy8gSWNvbnMgaW5zaWRlIGNvbnRhaW5lZCBidXR0b25zIGhhdmUgZGlmZmVyZW50IHN0eWxlcyBkdWUgdG8gaW5jcmVhc2VkIGJ1dHRvbiBwYWRkaW5nXG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbl9faWNvbi1jb250YWluZWRfO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCB7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24tLWZpbGxlZF87XG4gIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKG9uLXByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzKG9uLXByaW1hcnkpO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIHtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tcmFpc2VkXztcbn1cblxuLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tb3V0bGluZWRfO1xuICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtd2lkdGgoMnB4KTtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKHByaW1hcnkpO1xufVxuXG4ubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtYnV0dG9uLS1kZW5zZV87XG59XG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZWxldmF0aW9uL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1idXR0b24tZmlsbGVkLWFjY2Vzc2libGUoJGNvbnRhaW5lci1maWxsLWNvbG9yKSB7XG4gICRmaWxsLXRvbmU6IG1kYy10aGVtZS10b25lKCRjb250YWluZXItZmlsbC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkY29udGFpbmVyLWZpbGwtY29sb3IpO1xuXG4gIEBpZiAoJGZpbGwtdG9uZSA9PSBcImRhcmtcIikge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1kYXJrKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKHRleHQtcHJpbWFyeS1vbi1kYXJrKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWxpZ2h0KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKHRleHQtcHJpbWFyeS1vbi1saWdodCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yKSB7XG4gIC8vIDpub3QoOmRpc2FibGVkKSBpcyB1c2VkIHRvIHN1cHBvcnQgbGluayBzdHlsZWQgYXMgYnV0dG9uXG4gIC8vIGFzIGxpbmsgZG9lcyBub3Qgc3VwcG9ydCA6ZW5hYmxlZCBzdHlsZVxuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IsICRlZGdlT3B0T3V0OiB0cnVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24taWNvbi1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoOmRpc2FibGVkKSAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24taW5rLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMobWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy1idXR0b24taGVpZ2h0LCAkcmFkaXVzKSwgJHJ0bC1yZWZsZXhpdmUpO1xuXG4gICYubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMobWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy1kZW5zZS1idXR0b24taGVpZ2h0LCAkcmFkaXVzKSwgJHJ0bC1yZWZsZXhpdmUpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZygkcGFkZGluZykge1xuICAvLyAkcGFkZGluZyBzaG91bGQgYmUgYSBzaW5nbGUgdmFsdWU7IGVuZm9yY2UgaXQgYnkgc3BlY2lmeWluZyBhbGwgNCBzaWRlcyBpbiB0aGUgb3V0cHV0XG4gIHBhZGRpbmc6IDAgJHBhZGRpbmcgMCAkcGFkZGluZztcbn1cblxuQG1peGluIG1kYy1idXR0b24tb3V0bGluZS13aWR0aCgkb3V0bGluZS13aWR0aCwgJHBhZGRpbmc6ICRtZGMtYnV0dG9uLWNvbnRhaW5lZC1ob3Jpem9udGFsLXBhZGRpbmcpIHtcbiAgLy8gTm90ZTogQWRqdXN0IHBhZGRpbmcgdG8gbWFpbnRhaW4gY29uc2lzdGVudCB3aWR0aCB3aXRoIG5vbi1vdXRsaW5lZCBidXR0b25zXG4gICRwYWRkaW5nLXZhbHVlOiBtYXgoJHBhZGRpbmcgLSAkb3V0bGluZS13aWR0aCwgMCk7XG5cbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1ob3Jpem9udGFsLXBhZGRpbmcoJHBhZGRpbmctdmFsdWUpO1xuXG4gIGJvcmRlci13aWR0aDogJG91dGxpbmUtd2lkdGg7XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLWJhc2VfKCkge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShidXR0b24pO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nKCRtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZyk7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgaGVpZ2h0OiAkbWRjLWJ1dHRvbi1oZWlnaHQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlXG4gICY6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuXG4gICAgY29sb3I6ICRtZGMtYnV0dG9uLWRpc2FibGVkLWluay1jb2xvcjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b25fX2ljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsIDhweCk7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uX19pY29uLXN2Z18ge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uX19pY29uLWNvbnRhaW5lZF8ge1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIC00cHgsIDhweCk7XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLS1vdXRsaW5lZF8oKSB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tLWZpbGxlZF8oKSB7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nKCRtZGMtYnV0dG9uLWNvbnRhaW5lZC1ob3Jpem9udGFsLXBhZGRpbmcpO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xMik7XG4gICAgY29sb3I6ICRtZGMtYnV0dG9uLWRpc2FibGVkLWluay1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi0tcmFpc2VkXygpIHtcbiAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigyKTtcblxuICB0cmFuc2l0aW9uOiBtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdmFsdWUoKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDQpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oOCk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDApO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLS1kZW5zZV8oKSB7XG4gIGhlaWdodDogJG1kYy1kZW5zZS1idXR0b24taGVpZ2h0O1xuICBmb250LXNpemU6IC44MTI1cmVtOyAvLyAxM3NwXG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy1idXR0b24taGVpZ2h0OiAzNnB4O1xuJG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nOiA4cHg7XG4kbWRjLWJ1dHRvbi1jb250YWluZWQtaG9yaXpvbnRhbC1wYWRkaW5nOiAxNnB4O1xuJG1kYy1kZW5zZS1idXR0b24taGVpZ2h0OiAzMnB4O1xuXG4kbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNyk7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIG1kYy1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIC8vIEV2ZW4gaWYgJHJ0bC1yZWZsZXhpdmUgaXMgdHJ1ZSwgb25seSBlbWl0IFJUTCBzdHlsZXMgaWYgd2UgY2FuJ3QgZWFzaWx5IHRlbGwgdGhhdCB0aGUgZ2l2ZW4gcmFkaXVzIGlzIHN5bW1ldHJpY2FsXG4gICRuZWVkcy1mbGlwOiAkcnRsLXJlZmxleGl2ZSBhbmQgbGVuZ3RoKCRyYWRpdXMpID4gMTtcblxuICBAaWYgKCRuZWVkcy1mbGlwKSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICB9XG5cbiAgYm9yZGVyLXJhZGl1czogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cyk7XG5cbiAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgYm9yZGVyLXJhZGl1czogbWRjLXNoYXBlLWZsaXAtcmFkaXVzKG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBTaGFwZSBjYXRlZ29yaWVzXG4kbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbWVkaXVtLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8gU2hhcGUgY2F0ZWdvcnkgbWFwcGluZy5cbiRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzOiAoXG4gIHNtYWxsOiAkbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXMsXG4gIG1lZGl1bTogJG1kYy1zaGFwZS1tZWRpdW0tY29tcG9uZW50LXJhZGl1cyxcbiAgbGFyZ2U6ICRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1cyxcbik7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gQ3JlYXRlcyBhIHJ1bGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiBhbiBNREMgV2ViIGNvbXBvbmVudCBpcyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gUlRMIGxheW91dC5cbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICBsZWZ0OiAwO1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbGVmdDogYXV0bztcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy9cbi8vICAgJl9fYmFyIHtcbi8vICAgICBtYXJnaW4tbGVmdDogNHB4O1xuLy8gICAgIEBpbmNsdWRlIG1kYy1ydGwoXCIubWRjLWZvb1wiKSB7XG4vLyAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuLy9cbi8vIC5tZGMtZm9vLS1tb2Qge1xuLy8gICBwYWRkaW5nLWxlZnQ6IDRweDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIHBhZGRpbmctbGVmdDogYXV0bztcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIG1peGluIHdvcmtzIGJ5IGNoZWNraW5nIGZvciBhbiBhbmNlc3RvciBlbGVtZW50IHdpdGggYFtkaXI9XCJydGxcIl1gLlxuLy8gQXMgYSByZXN1bHQsIG5lc3RlZCBgZGlyYCB2YWx1ZXMgYXJlIG5vdCBzdXBwb3J0ZWQ6XG4vL1xuLy8gYGBgaHRtbFxuLy8gPGh0bWwgZGlyPVwicnRsXCI+XG4vLyAgIDwhLS0gLi4uIC0tPlxuLy8gICA8ZGl2IGRpcj1cImx0clwiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCJtZGMtZm9vXCI+U3R5bGVkIGluY29ycmVjdGx5IGFzIFJUTCE8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2h0bWw+XG4vLyBgYGBcbi8vXG4vLyBJbiB0aGUgZnV0dXJlLCBzZWxlY3RvcnMgc3VjaCBhcyB0aGUgYDpkaXJgIHBzZXVkby1jbGFzcyAoaHR0cDovL21kbi5pby9jc3MvOmRpcikgd2lsbCBoZWxwIHVzIG1pdGlnYXRlIHRoaXMuXG5AbWl4aW4gbWRjLXJ0bCgkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKCRyb290LXNlbGVjdG9yKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgI3skcm9vdC1zZWxlY3Rvcn1bZGlyPVwicnRsXCJdICYsXG4gICAgICBbZGlyPVwicnRsXCJdICN7JHJvb3Qtc2VsZWN0b3J9ICYge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAmW2Rpcj1cInJ0bFwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGFrZXMgYSBiYXNlIGJveC1tb2RlbCBwcm9wZXJ0eSBuYW1lIChgbWFyZ2luYCwgYGJvcmRlcmAsIGBwYWRkaW5nYCwgZXRjLikgYWxvbmcgd2l0aCBhXG4vLyBkZWZhdWx0IGRpcmVjdGlvbiAoYGxlZnRgIG9yIGByaWdodGApIGFuZCB2YWx1ZSwgYW5kIGVtaXRzIHJ1bGVzIHdoaWNoIGFwcGx5IHRoZSBnaXZlbiB2YWx1ZSB0byB0aGVcbi8vIHNwZWNpZmllZCBkaXJlY3Rpb24gYnkgZGVmYXVsdCBhbmQgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBpbiBSVEwuXG4vL1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4vLyAgIG1hcmdpbi1yaWdodDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICAgIG1hcmdpbi1yaWdodDogOHB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyB3aGVyZWFzOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsIDhweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgIG1hcmdpbi1yaWdodDogOHB4O1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIFlvdSBjYW4gYWxzbyBwYXNzIGFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IHdoaWNoIHdpbGwgYmUgZm9yd2FyZGVkIHRvIGBtZGMtcnRsYCxcbi8vIGUuZy4gYEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCwgXCIubWRjLWNvbXBvbmVudFwiKWAuXG4vL1xuLy8gTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gd2lsbCBhbHdheXMgemVybyBvdXQgdGhlIG9yaWdpbmFsIHZhbHVlIGluIGFuIFJUTCBjb250ZXh0LlxuLy8gSWYgeW91J3JlIHRyeWluZyB0byBmbGlwIHRoZSB2YWx1ZXMsIHVzZSBgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoKWAgaW5zdGVhZC5cbkBtaXhpbiBtZGMtcnRsLXJlZmxleGl2ZS1ib3goJGJhc2UtcHJvcGVydHksICRkZWZhdWx0LWRpcmVjdGlvbiwgJHZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKGluZGV4KChyaWdodCwgbGVmdCksICRkZWZhdWx0LWRpcmVjdGlvbikgPT0gbnVsbCkge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGVmYXVsdCBkaXJlY3Rpb246ICcjeyRkZWZhdWx0LWRpcmVjdGlvbn0nLiBQbGVhc2Ugc3BlY2lmaXkgZWl0aGVyICdyaWdodCcgb3IgJ2xlZnQnLlwiO1xuICB9XG5cbiAgJGxlZnQtdmFsdWU6ICR2YWx1ZTtcbiAgJHJpZ2h0LXZhbHVlOiAwO1xuXG4gIEBpZiAoJGRlZmF1bHQtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgJGxlZnQtdmFsdWU6IDA7XG4gICAgJHJpZ2h0LXZhbHVlOiAkdmFsdWU7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhIGJhc2UgcHJvcGVydHkgYW5kIGVtaXRzIHJ1bGVzIHRoYXQgYXNzaWduIDxiYXNlLXByb3BlcnR5Pi1sZWZ0IHRvIDxsZWZ0LXZhbHVlPiBhbmRcbi8vIDxiYXNlLXByb3BlcnR5Pi1yaWdodCB0byA8cmlnaHQtdmFsdWU+IGluIGEgTFRSIGNvbnRleHQsIGFuZCB2aWNlIHZlcnNhIGluIGEgUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgYXV0bywgMTJweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLyAgIG1hcmdpbi1yaWdodDogMTJweDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gQW4gb3B0aW9uYWwgNHRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgY2FuIGJlIGdpdmVuLCB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBgbWRjLXJ0bGAuXG5AbWl4aW4gbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoJGJhc2UtcHJvcGVydHksICRsZWZ0LXZhbHVlLCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gICRwcm9wLWxlZnQ6ICN7JGJhc2UtcHJvcGVydHl9LWxlZnQ7XG4gICRwcm9wLXJpZ2h0OiAjeyRiYXNlLXByb3BlcnR5fS1yaWdodDtcblxuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZSgkcHJvcC1sZWZ0LCAkbGVmdC12YWx1ZSwgJHByb3AtcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhbiBhcmd1bWVudCBzcGVjaWZ5aW5nIGEgaG9yaXpvbnRhbCBwb3NpdGlvbiBwcm9wZXJ0eSAoZWl0aGVyIFwibGVmdFwiIG9yIFwicmlnaHRcIikgYXMgd2VsbFxuLy8gYXMgYSB2YWx1ZSwgYW5kIGFwcGxpZXMgdGhhdCB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uIGluIGEgTFRSIGNvbnRleHQsIGFuZCBmbGlwcyBpdCBpbiBhXG4vLyBSVEwgY29udGV4dC4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAwKTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBsZWZ0OiAwO1xuLy8gICByaWdodDogaW5pdGlhbDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIGxlZnQ6IGluaXRpYWw7XG4vLyAgICAgcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIHRoaXJkICRyb290LXNlbGVjdG9yIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKCRwb3NpdGlvbi1wcm9wZXJ0eSwgJHZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKGluZGV4KChyaWdodCwgbGVmdCksICRwb3NpdGlvbi1wcm9wZXJ0eSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciBcIkludmFsaWQgcG9zaXRpb24gI3twb3NpdGlvbi1wcm9wZXJ0eX0uIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgcmlnaHQgb3IgbGVmdFwiO1xuICB9XG5cbiAgLy8gVE9ETzogXCJpbml0aWFsXCIgaXMgbm90IHN1cHBvcnRlZCBpbiBJRSAxMS4gaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtaW5pdGlhbC12YWx1ZVxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IGluaXRpYWw7XG5cbiAgQGlmICgkcG9zaXRpb24tcHJvcGVydHkgPT0gcmlnaHQpIHtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgICAkbGVmdC12YWx1ZTogaW5pdGlhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKGxlZnQsICRsZWZ0LXZhbHVlLCByaWdodCwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3Rvcik7XG59XG5cbi8vIFRha2VzIHBhaXIgb2YgcHJvcGVydGllcyB3aXRoIHZhbHVlcyBhcyBhcmd1bWVudHMgYW5kIGZsaXBzIGl0IGluIFJUTCBjb250ZXh0LlxuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShsZWZ0LCAycHgsIHJpZ2h0LCA1cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDJweDtcbi8vICAgcmlnaHQ6IDVweDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIHJpZ2h0OiAycHg7XG4vLyAgICAgbGVmdDogNXB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCBmaWZ0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIG1kYy1ydGwtcmVmbGV4aXZlKFxuICAkbGVmdC1wcm9wZXJ0eSxcbiAgJGxlZnQtdmFsdWUsXG4gICRyaWdodC1wcm9wZXJ0eSxcbiAgJHJpZ2h0LXZhbHVlLFxuICAkcm9vdC1zZWxlY3RvcjogbnVsbFxuKSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgI3skbGVmdC1wcm9wZXJ0eX06ICRsZWZ0LXZhbHVlO1xuICAvKiBAbm9mbGlwICovXG4gICN7JHJpZ2h0LXByb3BlcnR5fTogJHJpZ2h0LXZhbHVlO1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgI3skbGVmdC1wcm9wZXJ0eX06ICRyaWdodC12YWx1ZTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgI3skcmlnaHQtcHJvcGVydHl9OiAkbGVmdC12YWx1ZTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIG1kYy1lbGV2YXRpb24oJHotdmFsdWUsICRjb2xvcjogJG1kYy1lbGV2YXRpb24tYmFzZWxpbmUtY29sb3IsICRvcGFjaXR5LWJvb3N0OiAwKSB7XG4gIEBpZiB0eXBlLW9mKCR6LXZhbHVlKSAhPSBudW1iZXIgb3Igbm90IHVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgJGNvbG9yOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpO1xuXG4gICR1bWJyYS16LXZhbHVlOiBtYXAtZ2V0KCRtZGMtZWxldmF0aW9uLXVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkcGVudW1icmEtei12YWx1ZTogbWFwLWdldCgkbWRjLWVsZXZhdGlvbi1wZW51bWJyYS1tYXAsICR6LXZhbHVlKTtcbiAgJGFtYmllbnQtei12YWx1ZTogbWFwLWdldCgkbWRjLWVsZXZhdGlvbi1hbWJpZW50LW1hcCwgJHotdmFsdWUpO1xuXG4gICR1bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsICRtZGMtZWxldmF0aW9uLXVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsICRtZGMtZWxldmF0aW9uLXBlbnVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRhbWJpZW50LWNvbG9yOiByZ2JhKCRjb2xvciwgJG1kYy1lbGV2YXRpb24tYW1iaWVudC1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuXG4gIGJveC1zaGFkb3c6XG4gICAgI3tcIiN7JHVtYnJhLXotdmFsdWV9ICN7JHVtYnJhLWNvbG9yfVwifSxcbiAgICAje1wiI3skcGVudW1icmEtei12YWx1ZX0gI3skcGVudW1icmEtY29sb3J9XCJ9LFxuICAgICN7JGFtYmllbnQtei12YWx1ZX0gJGFtYmllbnQtY29sb3I7XG59XG5cbi8vIFJldHVybnMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIGEgYHRyYW5zaXRpb25gIHByb3BlcnR5IGZvciBlbGV2YXRpb24uXG4vLyBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYSBjb21wb25lbnQgbmVlZHMgdG8gdHJhbnNpdGlvblxuLy8gbW9yZSB0aGFuIG9uZSBwcm9wZXJ0eS5cbi8vXG4vLyBgYGBzY3NzXG4vLyAuZm9vIHtcbi8vICAgdHJhbnNpdGlvbjogbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKCksIG9wYWNpdHkgMTAwbXMgZWFzZTtcbi8vICAgd2lsbC1jaGFuZ2U6ICRtZGMtZWxldmF0aW9uLXByb3BlcnR5LCBvcGFjaXR5O1xuLy8gfVxuLy8gYGBgXG5AZnVuY3Rpb24gbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXZhbHVlKFxuICAkZHVyYXRpb246ICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRlYXNpbmc6ICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIEByZXR1cm4gI3skbWRjLWVsZXZhdGlvbi1wcm9wZXJ0eX0gI3skZHVyYXRpb259ICN7JGVhc2luZ307XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5cbiRtZGMtZWxldmF0aW9uLWJhc2VsaW5lLWNvbG9yOiBibGFjaztcbiRtZGMtZWxldmF0aW9uLXVtYnJhLW9wYWNpdHk6IC4yO1xuJG1kYy1lbGV2YXRpb24tcGVudW1icmEtb3BhY2l0eTogLjE0O1xuJG1kYy1lbGV2YXRpb24tYW1iaWVudC1vcGFjaXR5OiAuMTI7XG5cbiRtZGMtZWxldmF0aW9uLXVtYnJhLW1hcDogKFxuICAwOiBcIjBweCAwcHggMHB4IDBweFwiLFxuICAxOiBcIjBweCAycHggMXB4IC0xcHhcIixcbiAgMjogXCIwcHggM3B4IDFweCAtMnB4XCIsXG4gIDM6IFwiMHB4IDNweCAzcHggLTJweFwiLFxuICA0OiBcIjBweCAycHggNHB4IC0xcHhcIixcbiAgNTogXCIwcHggM3B4IDVweCAtMXB4XCIsXG4gIDY6IFwiMHB4IDNweCA1cHggLTFweFwiLFxuICA3OiBcIjBweCA0cHggNXB4IC0ycHhcIixcbiAgODogXCIwcHggNXB4IDVweCAtM3B4XCIsXG4gIDk6IFwiMHB4IDVweCA2cHggLTNweFwiLFxuICAxMDogXCIwcHggNnB4IDZweCAtM3B4XCIsXG4gIDExOiBcIjBweCA2cHggN3B4IC00cHhcIixcbiAgMTI6IFwiMHB4IDdweCA4cHggLTRweFwiLFxuICAxMzogXCIwcHggN3B4IDhweCAtNHB4XCIsXG4gIDE0OiBcIjBweCA3cHggOXB4IC00cHhcIixcbiAgMTU6IFwiMHB4IDhweCA5cHggLTVweFwiLFxuICAxNjogXCIwcHggOHB4IDEwcHggLTVweFwiLFxuICAxNzogXCIwcHggOHB4IDExcHggLTVweFwiLFxuICAxODogXCIwcHggOXB4IDExcHggLTVweFwiLFxuICAxOTogXCIwcHggOXB4IDEycHggLTZweFwiLFxuICAyMDogXCIwcHggMTBweCAxM3B4IC02cHhcIixcbiAgMjE6IFwiMHB4IDEwcHggMTNweCAtNnB4XCIsXG4gIDIyOiBcIjBweCAxMHB4IDE0cHggLTZweFwiLFxuICAyMzogXCIwcHggMTFweCAxNHB4IC03cHhcIixcbiAgMjQ6IFwiMHB4IDExcHggMTVweCAtN3B4XCJcbik7XG5cbiRtZGMtZWxldmF0aW9uLXBlbnVtYnJhLW1hcDogKFxuICAwOiBcIjBweCAwcHggMHB4IDBweFwiLFxuICAxOiBcIjBweCAxcHggMXB4IDBweFwiLFxuICAyOiBcIjBweCAycHggMnB4IDBweFwiLFxuICAzOiBcIjBweCAzcHggNHB4IDBweFwiLFxuICA0OiBcIjBweCA0cHggNXB4IDBweFwiLFxuICA1OiBcIjBweCA1cHggOHB4IDBweFwiLFxuICA2OiBcIjBweCA2cHggMTBweCAwcHhcIixcbiAgNzogXCIwcHggN3B4IDEwcHggMXB4XCIsXG4gIDg6IFwiMHB4IDhweCAxMHB4IDFweFwiLFxuICA5OiBcIjBweCA5cHggMTJweCAxcHhcIixcbiAgMTA6IFwiMHB4IDEwcHggMTRweCAxcHhcIixcbiAgMTE6IFwiMHB4IDExcHggMTVweCAxcHhcIixcbiAgMTI6IFwiMHB4IDEycHggMTdweCAycHhcIixcbiAgMTM6IFwiMHB4IDEzcHggMTlweCAycHhcIixcbiAgMTQ6IFwiMHB4IDE0cHggMjFweCAycHhcIixcbiAgMTU6IFwiMHB4IDE1cHggMjJweCAycHhcIixcbiAgMTY6IFwiMHB4IDE2cHggMjRweCAycHhcIixcbiAgMTc6IFwiMHB4IDE3cHggMjZweCAycHhcIixcbiAgMTg6IFwiMHB4IDE4cHggMjhweCAycHhcIixcbiAgMTk6IFwiMHB4IDE5cHggMjlweCAycHhcIixcbiAgMjA6IFwiMHB4IDIwcHggMzFweCAzcHhcIixcbiAgMjE6IFwiMHB4IDIxcHggMzNweCAzcHhcIixcbiAgMjI6IFwiMHB4IDIycHggMzVweCAzcHhcIixcbiAgMjM6IFwiMHB4IDIzcHggMzZweCAzcHhcIixcbiAgMjQ6IFwiMHB4IDI0cHggMzhweCAzcHhcIlxuKTtcblxuJG1kYy1lbGV2YXRpb24tYW1iaWVudC1tYXA6IChcbiAgMDogXCIwcHggMHB4IDBweCAwcHhcIixcbiAgMTogXCIwcHggMXB4IDNweCAwcHhcIixcbiAgMjogXCIwcHggMXB4IDVweCAwcHhcIixcbiAgMzogXCIwcHggMXB4IDhweCAwcHhcIixcbiAgNDogXCIwcHggMXB4IDEwcHggMHB4XCIsXG4gIDU6IFwiMHB4IDFweCAxNHB4IDBweFwiLFxuICA2OiBcIjBweCAxcHggMThweCAwcHhcIixcbiAgNzogXCIwcHggMnB4IDE2cHggMXB4XCIsXG4gIDg6IFwiMHB4IDNweCAxNHB4IDJweFwiLFxuICA5OiBcIjBweCAzcHggMTZweCAycHhcIixcbiAgMTA6IFwiMHB4IDRweCAxOHB4IDNweFwiLFxuICAxMTogXCIwcHggNHB4IDIwcHggM3B4XCIsXG4gIDEyOiBcIjBweCA1cHggMjJweCA0cHhcIixcbiAgMTM6IFwiMHB4IDVweCAyNHB4IDRweFwiLFxuICAxNDogXCIwcHggNXB4IDI2cHggNHB4XCIsXG4gIDE1OiBcIjBweCA2cHggMjhweCA1cHhcIixcbiAgMTY6IFwiMHB4IDZweCAzMHB4IDVweFwiLFxuICAxNzogXCIwcHggNnB4IDMycHggNXB4XCIsXG4gIDE4OiBcIjBweCA3cHggMzRweCA2cHhcIixcbiAgMTk6IFwiMHB4IDdweCAzNnB4IDZweFwiLFxuICAyMDogXCIwcHggOHB4IDM4cHggN3B4XCIsXG4gIDIxOiBcIjBweCA4cHggNDBweCA3cHhcIixcbiAgMjI6IFwiMHB4IDhweCA0MnB4IDdweFwiLFxuICAyMzogXCIwcHggOXB4IDQ0cHggOHB4XCIsXG4gIDI0OiBcIjBweCA5cHggNDZweCA4cHhcIlxuKTtcblxuLy8gVGhlIGNzcyBwcm9wZXJ0eSB1c2VkIGZvciBlbGV2YXRpb24uIEluIG1vc3QgY2FzZXMgdGhpcyBzaG91bGQgbm90IGJlIGNoYW5nZWQuIEl0IGlzIGV4cG9zZWRcbi8vIGFzIGEgdmFyaWFibGUgZm9yIGFic3RyYWN0aW9uIC8gZWFzeSB1c2Ugd2hlbiBuZWVkaW5nIHRvIHJlZmVyZW5jZSB0aGUgcHJvcGVydHkgZGlyZWN0bHksIGZvclxuLy8gZXhhbXBsZSBpbiBhIGB3aWxsLWNoYW5nZWAgcnVsZS5cbiRtZGMtZWxldmF0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwbXMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGVhc2luZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBGbG9hdGluZyBMYWJlbCBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMsIGJ1dCBpdHMgc3R5bGVzIHNob3VsZCBvbmx5IGJlIGVtaXR0ZWQgb25jZSB3aGVuIGJ1bmRsZWRcbkBpbmNsdWRlIG1kYy1iYXNlLWVtaXQtb25jZShcIm1kYy1mbG9hdGluZy1sYWJlbFwiKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGZsb2F0aW5nLWxhYmVsXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gJG1kYy1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbixcbiAgICAgIGNvbG9yICRtZGMtZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBGb3JjZSB0aGUgbGFiZWwgaW50byBpdHMgb3duIGxheWVyIHRvIHByZXZlbnQgdmlzaWJsZSBsYXllciBwcm9tb3Rpb24gYWRqdXN0bWVudHNcbiAgICAvLyB3aGVuIHRoZSByaXBwbGUgaXMgYWN0aXZhdGVkIGJlaGluZCBpdC5cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLWZsb2F0aW5nLWxhYmVsLXBvc2l0aW9uLXkpO1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc3RhbmRhcmQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhzdGFuZGFyZCwgJG1kYy1mbG9hdGluZy1sYWJlbC1wb3NpdGlvbi15KTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG59XG5cbi8vIFVzZWQgZm9yIHRleHRhcmVhIGluIGNhc2Ugb2Ygc2Nyb2xsaW5nXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLWZpbGwtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKCRtb2RpZmllciwgJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCUsICRzY2FsZTogLjc1KSB7XG4gIEBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLSN7JG1vZGlmaWVyfSB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgIH1cblxuICAgIDMzJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC43MDE3MzIsIC40OTU4MTkpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG5cbiAgICA2NiUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUpIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpZiAkcG9zaXRpb25YID4gMCBvciAkcG9zaXRpb25YIDwgMCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEgKiAkcG9zaXRpb25ZKSB0cmFuc2xhdGVYKC0xICogJHBvc2l0aW9uWCkgc2NhbGUoJHNjYWxlKTtcblxuICAgICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHRyYW5zbGF0ZVgoJHBvc2l0aW9uWCkgc2NhbGUoJHNjYWxlKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHNjYWxlKCRzY2FsZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKCRtb2RpZmllcikge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtI3skbW9kaWZpZXJ9IDI1MG1zIDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGgoJG1heC13aWR0aCkge1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5cbi8vIExpbmUgUmlwcGxlIGlzIGludGVuZGVkIGZvciB1c2UgYnkgbXVsdGlwbGUgY29tcG9uZW50cywgYnV0IGl0cyBzdHlsZXMgc2hvdWxkIG9ubHkgYmUgZW1pdHRlZCBvbmNlIHdoZW4gYnVuZGxlZFxuQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLWxpbmUtcmlwcGxlXCIpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbGluZS1yaXBwbGVcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zaXRpb246IG1kYy1saW5lLXJpcHBsZS10cmFuc2l0aW9uLXZhbHVlKHRyYW5zZm9ybSksIG1kYy1saW5lLXJpcHBsZS10cmFuc2l0aW9uLXZhbHVlKG9wYWNpdHkpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUtLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUtLWRlYWN0aXZhdGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBOb3RjaGVkIE91dGxpbmUgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBtdWx0aXBsZSBjb21wb25lbnRzLCBidXQgaXRzIHN0eWxlcyBzaG91bGQgb25seSBiZSBlbWl0dGVkIG9uY2Ugd2hlbiBidW5kbGVkXG5AaW5jbHVkZSBtZGMtYmFzZS1lbWl0LW9uY2UoXCJtZGMtbm90Y2hlZC1vdXRsaW5lXCIpIHtcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX2xlYWRpbmcsXG4gICAgJl9fbm90Y2gsXG4gICAgJl9fdHJhaWxpbmcge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICZfX2xlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCAxcHggc29saWQsIG5vbmUpO1xuXG4gICAgICB3aWR0aDogJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aDtcbiAgICB9XG5cbiAgICAmX190cmFpbGluZyB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShib3JkZXIsIG5vbmUsIDFweCBzb2xpZCk7XG5cbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19ub3RjaCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgOHB4KTtcblxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtbm90Y2hlZC1vdXRsaW5lLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb25zdGFudHMubnVtYmVycy5NSU5fTEVBRElOR19TVFJPS0VfRURHRV9QT1NJVElPTlxuJG1kYy1ub3RjaGVkLW91dGxpbmUtbWluLWxlYWRpbmctc3Ryb2tlLWVkZ2UtcG9zaXRpb246IDEycHg7XG4vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIHN0cm9rZSBlbmQgYW5kIGZsb2F0aW5nIGxhYmVsXG4vLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbnN0YW50cy5udW1iZXJzLk5PVENIX0dVVFRFUl9TSVpFXG4kbWRjLW5vdGNoZWQtb3V0bGluZS1ub3RjaC1ndXR0ZXItc2l6ZTogNHB4O1xuJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aDogMTJweDtcbiRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmc6IDRweDtcbi8vIFRoaXMgdmFyaWFibGUga2VlcHMgdGhlIGJlZm9yZS9hZnRlciBKUyBsYWJlbCBjZW50ZXJlZCBpbiB0aGUgbm90Y2ggd2hlbiB0aGUgZm9udC1zaXplIGlzIGNoYW5nZWQuXG4kbWRjLW5vdGNoZWQtb3V0bGluZS1sYWJlbC1hZGp1c3Q6IDE0JTtcblxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRleHQtZmllbGQtaGVscGVyLXRleHRcblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoY2FwdGlvbik7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgxNnB4KTtcblxuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG1kYy10ZXh0LWZpZWxkLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXBlcnNpc3RlbnQge1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWxsLWNoYW5nZTogaW5pdGlhbDtcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy10ZXh0LWZpZWxkX19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mbG9hdGluZy1sYWJlbC9tZGMtZmxvYXRpbmctbGFiZWxcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbGluZS1yaXBwbGUvbWRjLWxpbmUtcmlwcGxlXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9tZGMtbm90Y2hlZC1vdXRsaW5lXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9jb21tb25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi9oZWxwZXItdGV4dC9tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dFwiO1xuQGltcG9ydCBcIi4vaWNvbi9tZGMtdGV4dC1maWVsZC1pY29uXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0ZXh0LWZpZWxkXG5cbi5tZGMtdGV4dC1maWVsZCB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgLy8gVGV4dCBGaWVsZCBpbnRlbnRpb25hbGx5IG9taXRzIHByZXNzIHJpcHBsZSwgc28gZWFjaCBzdGF0ZSBuZWVkcyB0byBiZSBzcGVjaWZpZWQgaW5kaXZpZHVhbGx5LlxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvciwgaG92ZXIpKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yLCBmb2N1cykpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuXG4gIC8vIFNoYXBlXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXNoYXBlLXJhZGl1cyhzbWFsbCk7XG5cbiAgLy8gQ29sb3JzXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1sYWJlbCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcigkbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2FyZXQtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1pZGxlKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWhvdmVyKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3JfKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yKCRtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IoJG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1iYWNrZ3JvdW5kKTtcblxuICAvLyBGbG9hdGluZyBMYWJlbFxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mbG9hdGluZy1sYWJlbF87XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAkbWRjLXRleHQtZmllbGQtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMTZweCA2cHg7XG4gIHRyYW5zaXRpb246IG1kYy10ZXh0LWZpZWxkLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBtZGMtdGV4dC1maWVsZC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSByZWQgb3V0bGluZSBvbiBmaXJlZm94XG4gICY6aW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLy8gTW92ZSBsYWJlbCB3aGVuIHRleHQtZmllbGQgZ2V0cyBhdXRvLWZpbGxlZCBpbiBDaHJvbWUuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgKyAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC43NSk7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWZvY3VzZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC10cmFpbGluZy1pY29uXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC1ib3RoLWljb25zXztcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgYm90dG9tOiAxNnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1kZW5zZS13aXRoLXRyYWlsaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWRlbnNlXztcbn1cblxuQGluY2x1ZGUgbWRjLXJlcXVpcmVkLXRleHQtZmllbGQtbGFiZWwtYXN0ZXJpc2tfIHtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgY29udGVudDogXCIqXCI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtaW52YWxpZF87XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRleHQtZmllbGQtaGVscGVyLXRleHRcblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgKyAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQgKyAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkICsgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuLy8gbWRjLWZvcm0tZmllbGQgdHdlYWtzIHRvIGFsaWduIHRleHQgZmllbGQgbGFiZWwgY29ycmVjdGx5XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcihwcmltYXJ5KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW52YWxpZF87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1pbnZhbGlkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWludmFsaWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGlzYWJsZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWRpc2FibGVkXztcbn1cblxuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyh0ZXh0LWZpZWxkLWRlbnNlLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSwgMCUsICRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZSk7XG5AaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKHRleHQtZmllbGQtb3V0bGluZWQsICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXModGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSwgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksIDAlLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGUpO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyh0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbiwgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXModGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UsICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15LCAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCwgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXModGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsLCAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgLSRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXModGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UtcnRsLCAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSwgLSRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGUpO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyh0ZXh0YXJlYSwgJG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWxhYmVsLXBvc2l0aW9uLXksIDAlKTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy9cbi8vIEZsaXBzIHRoZSByYWRpdXMgdmFsdWVzIGJhc2VkIG9uIFJUTCBjb250ZXh0LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vIDEuIG1kYy1zaGFwZS1mbGlwLXJhZGl1cygoMCwgNHB4LCA0cHgsIDApKSA9PiA0cHggMCAwIDRweFxuLy8gMi4gbWRjLXNoYXBlLWZsaXAtcmFkaXVzKCgwLCA4cHgpKSA9PiA4cHggMFxuLy9cbkBmdW5jdGlvbiBtZGMtc2hhcGUtZmxpcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgdHlwZS1vZigkcmFkaXVzKSA9PSBcImxpc3RcIiB7XG4gICAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDQge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBpcyBtb3JlIHRoYW4gNCB2YWx1ZXNcIjtcbiAgICB9XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRyYWRpdXMpID09IDQge1xuICAgIEByZXR1cm4gbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAxKSBudGgoJHJhZGl1cywgNCkgbnRoKCRyYWRpdXMsIDMpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkcmFkaXVzKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkcmFkaXVzLCAyKSBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAzKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHJhZGl1cywgMikgbnRoKCRyYWRpdXMsIDEpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRyYWRpdXM7XG4gIH1cbn1cblxuLy9cbi8vIFJlc29sdmVzIHRoZSBwZXJjZW50YWdlIHVuaXQgcmFkaXVzIHRvIGFwcHJvcHJpYXRlIGFic29sdXRlIHJhZGl1cyB2YWx1ZSBiYXNlZCBvbiBjb21wb25lbnQgaGVpZ2h0LlxuLy8gVXNlIHRoaXMgZm9yIGZpeGVkIGhlaWdodCBjb21wb25lbnRzIG9ubHkuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoMzZweCwgNTAlKSA9PiBgMThweGAgKGkuZS4sIDM2cHggLyAyKVxuLy9cbkBmdW5jdGlvbiBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkY29tcG9uZW50LWhlaWdodCwgJHJhZGl1cykge1xuICBAaWYgdHlwZS1vZigkcmFkaXVzKSA9PSBcImxpc3RcIiB7XG4gICAgJHJhZGl1cy12YWx1ZTogKCk7XG5cbiAgICBAZWFjaCAkY29ybmVyIGluICRyYWRpdXMge1xuICAgICAgJHJhZGl1cy12YWx1ZTogYXBwZW5kKCRyYWRpdXMtdmFsdWUsIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtZm9yLWNvcm5lcl8oJGNvbXBvbmVudC1oZWlnaHQsICRjb3JuZXIpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyYWRpdXMtdmFsdWU7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1mb3ItY29ybmVyXygkY29tcG9uZW50LWhlaWdodCwgJHJhZGl1cyk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtZm9yLWNvcm5lcl8oJGNvbXBvbmVudC1oZWlnaHQsICRyYWRpdXMpIHtcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJudW1iZXJcIiBhbmQgdW5pdCgkcmFkaXVzKSA9PSBcIiVcIiB7XG4gICAgLy8gQ29udmVydHMgdGhlIHBlcmNlbnRhZ2UgdG8gbnVtYmVyIHdpdGhvdXQgdW5pdC4gRXhhbXBsZTogNTAlID0+IDUwLlxuICAgICRwZXJjZW50YWdlOiAkcmFkaXVzIC8gKCRyYWRpdXMgKiAwICsgMSk7XG5cbiAgICBAcmV0dXJuICRjb21wb25lbnQtaGVpZ2h0ICogKCRwZXJjZW50YWdlIC8gMTAwKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkcmFkaXVzO1xuICB9XG59XG5cbi8vXG4vLyBTdHJpcHMgdW5pdCBmcm9tIG51bWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgZGl2aWRpbmcgdGhlIHZhbHVlIGJ5IGl0c2VsZiB0byBjYW5jZWwgb3V0IHVuaXRzLCB3aGlsZSByZXN1bHRpbmdcbi8vIGluIGEgZGVub21pbmF0b3Igb2YgMS5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyA1MCUgPT4gNTBcbi8vXG5AZnVuY3Rpb24gbWRjLXNoYXBlLXN0cmlwLXVuaXRfKCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuLy9cbi8vIFJldHVybnMgJHJhZGl1cyB2YWx1ZSBvZiBzaGFwZSBjYXRlZ29yeSAtIGBsYXJnZWAsIGBtZWRpdW1gIG9yIGBzbWFsbGAuXG4vLyBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlICRyYWRpdXMgaXRzZWxmIGlmIHZhbGlkLlxuLy8gJHJhZGl1cyBjYW4gYmUgYSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB1cCB0byA0LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vIG1kYy1zaGFwZS1wcm9wLXZhbHVlKHNtYWxsKSA9PiA0cHhcbi8vXG5AZnVuY3Rpb24gbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cykge1xuICBAaWYgdHlwZS1vZigkcmFkaXVzKSA9PSBcImxpc3RcIiB7XG4gICAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDQge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBpcyBtb3JlIHRoYW4gNCB2YWx1ZXNcIjtcbiAgICB9XG5cbiAgICAkcmFkaXVzLXZhbHVlOiAoKTtcblxuICAgIEBlYWNoICRjb3JuZXIgaW4gJHJhZGl1cyB7XG4gICAgICAkcmFkaXVzLXZhbHVlOiBhcHBlbmQoJHJhZGl1cy12YWx1ZSwgbWRjLXNoYXBlLXByb3AtY29ybmVyLXZhbHVlXygkY29ybmVyKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmFkaXVzLXZhbHVlO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1kYy1zaGFwZS1wcm9wLWNvcm5lci12YWx1ZV8oJHJhZGl1cyk7XG4gIH1cbn1cblxuLy9cbi8vIEFjY2VwdHMgcmFkaXVzIG51bWJlciBvciBsaXN0IG9mIDItNCByYWRpdXMgdmFsdWVzIGFuZCByZXR1cm5zIDQgdmFsdWUgbGlzdCB3aXRoXG4vLyBtYXNrZWQgY29ybmVycyBhcyBtZW50aW9uZWQgaW4gYCRtYXNrZWQtY29ybmVyc2Bcbi8vXG4vLyBFeGFtcGxlOlxuLy9cbi8vIDEuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cygycHggM3B4LCAxIDEgMCAwKSA9PiAycHggM3B4IDAgMFxuLy8gMi4gbWRjLXNoYXBlLW1hc2stcmFkaXVzKDhweCwgMCAwIDEgMSkgPT4gMCAwIDhweCA4cHhcbi8vIDMuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cyg0cHggNHB4IDRweCA0cHgsIDAgMSAxIDApID0+IDAgNHB4IDRweCAwXG4vL1xuQGZ1bmN0aW9uIG1kYy1zaGFwZS1tYXNrLXJhZGl1cygkcmFkaXVzLCAkbWFza2VkLWNvcm5lcnMpIHtcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJsaXN0XCIge1xuICAgIEBpZiBsZW5ndGgoJHJhZGl1cykgPiA0IHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkbWFza2VkLWNvcm5lcnMpICE9IDQge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIG1hc2tlZC1jb3JuZXJzIG9mIGxlbmd0aCA0IGJ1dCBnb3QgJyN7bGVuZ3RoKCRtYXNrZWQtY29ybmVycyl9Jy5cIjtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMyB7XG4gICAgJHJhZGl1czogbnRoKCRyYWRpdXMsIDEpIG50aCgkcmFkaXVzLCAyKSBudGgoJHJhZGl1cywgMykgbnRoKCRyYWRpdXMsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkcmFkaXVzKSA9PSAyIHtcbiAgICAkcmFkaXVzOiBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAxKSBudGgoJHJhZGl1cywgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRyYWRpdXMpID09IDEge1xuICAgICRyYWRpdXM6ICRyYWRpdXMgJHJhZGl1cyAkcmFkaXVzICRyYWRpdXM7XG4gIH1cblxuICBAcmV0dXJuIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDEpID09IDEsIG50aCgkcmFkaXVzLCAxKSwgMClcbiAgICBpZihudGgoJG1hc2tlZC1jb3JuZXJzLCAyKSA9PSAxLCBudGgoJHJhZGl1cywgMiksIDApXG4gICAgaWYobnRoKCRtYXNrZWQtY29ybmVycywgMykgPT0gMSwgbnRoKCRyYWRpdXMsIDMpLCAwKVxuICAgIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDQpID09IDEsIG50aCgkcmFkaXVzLCA0KSwgMCk7XG59XG5cbkBmdW5jdGlvbiBtZGMtc2hhcGUtcHJvcC1jb3JuZXItdmFsdWVfKCRyYWRpdXMpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzLCAkcmFkaXVzKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzLCAkcmFkaXVzKTtcbiAgfSBAZWxzZSBpZiBtZGMtc2hhcGUtaXMtdmFsaWQtcmFkaXVzLXZhbHVlXygkcmFkaXVzKSB7XG4gICAgQHJldHVybiAkcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIHJhZGl1cyBpcyBub3Qgc3VwcG9ydGVkXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMsICRyYWRpdXMpO1xufVxuXG5AZnVuY3Rpb24gbWRjLXNoYXBlLWlzLXZhbGlkLXJhZGl1cy12YWx1ZV8oJHJhZGl1cykge1xuICAkaXMtbnVtYmVyOiB0eXBlLW9mKCRyYWRpdXMpID09IFwibnVtYmVyXCI7XG5cbiAgQHJldHVybiAkaXMtbnVtYmVyIG9yIHN0cl9pbmRleCgkcmFkaXVzLCBcInZhcihcIikgb3Igc3RyX2luZGV4KCRyYWRpdXMsIFwiY2FsYyhcIik7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cbiRtZGMtdGV4dC1maWVsZC1lcnJvcjogZXJyb3I7XG4kbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMTIpO1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjA2KTtcbiRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1pY29uOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMyk7XG4kbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtaG92ZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44Nyk7XG4kbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtaWRsZTogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjQyKTtcbiRtZGMtdGV4dC1maWVsZC1sYWJlbDogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpO1xuXG4kbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpO1xuJG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNik7XG4kbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KTtcbiRtZGMtdGV4dC1maWVsZC1mb2N1c2VkLWxhYmVsLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKHByaW1hcnkpLCAuODcpO1xuXG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNyk7XG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpO1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpO1xuXG4kbWRjLXRleHQtZmllbGQtYmFja2dyb3VuZDogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpO1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJhY2tncm91bmQ6IG1peChtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDIlKTtcbiRtZGMtdGV4dC1maWVsZC1zZWNvbmRhcnktdGV4dDogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpO1xuXG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNCk7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMDYpO1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KTtcblxuJG1kYy10ZXh0YXJlYS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC43Myk7XG4kbWRjLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDEpO1xuJG1kYy10ZXh0YXJlYS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNik7XG4vLyBjYW5ub3QgYmUgdHJhbnNwYXJlbnQgYmVjYXVzZSBtdWx0aWxpbmUgdGV4dGFyZWEgaW5wdXRcbi8vIHdpbGwgbWFrZSB0ZXh0IHVucmVhZGFibGVcbiRtZGMtdGV4dGFyZWEtZGlzYWJsZWQtYmFja2dyb3VuZDogcmdiYSgyNDksIDI0OSwgMjQ5LCAxKTtcblxuJG1kYy10ZXh0LWZpZWxkLWhlaWdodDogNTZweDtcbiRtZGMtdGV4dC1maWVsZC1sYWJlbC1wb3NpdGlvbi15OiA1MCU7XG4kbWRjLXRleHQtZmllbGQtbGFiZWwtb2Zmc2V0OiAxNnB4O1xuJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXk6IDcwJTtcbiRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZTogLjg7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teTogMTMwJTtcbiRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15OiAxMjAlO1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDA7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teDogMjFweDtcbiRtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1sYWJlbC1wb3NpdGlvbi15OiAxMzAlO1xuLy8gTm90ZSB0aGF0IHRoZSBzY2FsZSBmYWN0b3IgaXMgYW4gZXllYmFsbGVkIGFwcHJveGltYXRpb24gb2Ygd2hhdCdzIHNob3duIGluIHRoZSBtb2Nrcy5cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiaGVscGVyLXRleHQvbWl4aW5zXCI7XG5AaW1wb3J0IFwiaWNvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCJpY29uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFkaXVzKSA+IDIge1xuICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgY29tcG9uZW50IGRvZXNuJ3QgYWxsb3cgY3VzdG9taXppbmcgYWxsIGNvcm5lcnNcIjtcbiAgfVxuXG4gICRtYXNrZWQtcmFkaXVzOiBtZGMtc2hhcGUtbWFzay1yYWRpdXMoJHJhZGl1cywgMSAxIDAgMCk7XG5cbiAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkbWRjLXRleHQtZmllbGQtaGVpZ2h0LCAkbWFza2VkLXJhZGl1cyksICRydGwtcmVmbGV4aXZlKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUpO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtc3Ryb2tlLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtc3Ryb2tlLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1maWxsLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZmlsbC1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1pbmstY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWNhcmV0LWNvbG9yKCRjb2xvcikge1xuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjYXJldC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG4vLyBCYXNlbGluZVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGlzYWJsZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pbmstY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1pbmstY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1sYWJlbC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaGVscGVyLXRleHQtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaWNvbik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcblxuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWludmFsaWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1jYXJldC1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuXG4gICYubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiB7XG4gICAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICAgIH1cblxuICAgICYubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yLCAvKiBzdHlsZVNlY29uZEljb24gKi8gdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mb2N1c2VkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1mb2N1c2VkLWxhYmVsLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtcmVxdWlyZWQtdGV4dC1maWVsZC1sYWJlbC1hc3Rlcmlza18ge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICB9XG5cbiAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQ6bm90KC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1kZW5zZV8ge1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksIDAlLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGUpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtZGVuc2UpO1xuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCAwO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuODEzcmVtO1xuXG4gICAgJi0tZmxvYXQtYWJvdmUge1xuICAgICAgZm9udC1zaXplOiAuODEzcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJlcXVpcmVkLXRleHQtZmllbGQtbGFiZWwtYXN0ZXJpc2tfKCkge1xuICAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4ge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gICRyZXNvbHZlZC1yYWRpdXM6IG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtdGV4dC1maWVsZC1oZWlnaHQsICRyYWRpdXMpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLXNoYXBlLXJhZGl1cygkcmVzb2x2ZWQtcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cblxuICAkcmFkaXVzLXBpeGVsczogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJlc29sdmVkLXJhZGl1cyk7XG5cbiAgQGlmICgkcmFkaXVzLXBpeGVscyA+ICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyYWRpdXMtcGl4ZWxzICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZywgMCk7XG4gICAgfVxuXG4gICAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkcmFkaXVzLXBpeGVscyArICRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmcsICRtZGMtdGV4dC1maWVsZC1sYWJlbC1vZmZzZXQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZmxvYXRpbmctbGFiZWxfIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy10ZXh0LWZpZWxkLWxhYmVsLW9mZnNldCk7XG5cbiAgICB0b3A6IDE4cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLS10ZXh0YXJlYSB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nKTtcbiAgICB9XG4gIH1cblxuICAmLS1vdXRsaW5lZCB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nKTtcblxuICAgICAgdG9wOiAxN3B4O1xuICAgIH1cblxuICAgICYtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAoJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpKTtcblxuICAgICAgICAmLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgKCRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcgLSAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKSArICRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE91dGxpbmVkXG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kaXNhYmxlZF8ge1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yXyh0cmFuc3BhcmVudCk7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaW52YWxpZF8ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1mb2N1c2VkXyB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc3Ryb2tlLXdpZHRoKDJweCk7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZV8ge1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15LCAwJSwgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlKTtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlKTtcblxuICBoZWlnaHQ6IDQ4cHg7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4IDdweDtcbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTRweDtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgdG9wOiAxMnB4O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZF8ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1pZGxlLWJvcmRlcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtb3V0bGluZS1jb2xvcihwcmltYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwpO1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcih0cmFuc3BhcmVudCk7XG5cbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweCAxNHB4O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyAgLy8gRkYgYWRkcyB1bndhbnRlZCBib3JkZXIgaW4gSEMgbW9kZSBvbiB3aW5kb3dzLlxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4sXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4ge1xuICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvcikge1xuICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gIH1cbn1cblxuLy8gSWNvbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXdpdGgtbGVhZGluZy1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8obGVmdCwgJG1kYy10ZXh0LWZpZWxkLWljb24tcG9zaXRpb24sICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbl8ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKGxlZnQsICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBvc2l0aW9uLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhsZWZ0LCAkbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbiwgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyk7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksIDMycHgpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uKTtcblxuICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCk7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLXdpdGgtbGVhZGluZy1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGUpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlKTtcblxuICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCk7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXdpdGgtdHJhaWxpbmctaWNvbl8ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKHJpZ2h0LCAkbWRjLXRleHQtZmllbGQtdHJhaWxpbmctaWNvbi1wb3NpdGlvbiwgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyk7XG5cbiAgLy8gT3V0bGluZWQgdXNlcyAxNnB4IGZvciB0ZXh0IGFsaWdubWVudCB3aGVuIHVzaW5nIGEgdHJhaWxpbmcgaWNvbi5cbiAgJi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8ocmlnaHQsICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLCAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC10cmFpbGluZy1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8ocmlnaHQsICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBvc2l0aW9uLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXdpdGgtYm90aC1pY29uc18ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb24tdHdvLWljb25zXygkbWRjLXRleHQtZmllbGQtaWNvbi1wb3NpdGlvbiwgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZywgJG1kYy10ZXh0LWZpZWxkLXRyYWlsaW5nLWljb24tcG9zaXRpb24sICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcpO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbi10d28taWNvbnNfKCRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBvc2l0aW9uLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nLCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wb3NpdGlvbiwgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcGFkZGluZyk7XG59XG5cbi8vIEZ1bGwgV2lkdGhcbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGhfIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcih0cmFuc3BhcmVudCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1pbnZhbGlkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xufVxuXG4vLyBUZXh0YXJlYVxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWRpc2FibGVkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXztcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZmlsbC1jb2xvcl8oJG1kYy10ZXh0YXJlYS1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWludmFsaWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWFfIHtcbiAgLy8gTm90ZTogVGhlIHJlZmFjdG9yIHRvIGFkZCB0aGUgZmlsbGVkIHRleHRhcmVhIHN0eWxlIHdpbGwgcmVzdWx0IGluIGEgbG90IG9mIHRoZSBzcGVjaWZpY2l0eSBpc3N1ZXMgdGhhdCB0aGVcbiAgLy8gdGV4dGFyZWEgaGFzIGJlaW5nIHJlc29sdmVkIGJ5IHVzaW5nIHRoZSBzYW1lIC0tb3V0bGluZWQgdmFyaWFudCBjbGFzcyBhcyB0aGUgdGV4dCBmaWVsZC5cbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1ob3Zlci1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcih0cmFuc3BhcmVudCk7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksIDAlKTtcblxuICAkcGFkZGluZy1pbnNldDogMTZweDtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46ICRwYWRkaW5nLWluc2V0LzIgMXB4IDFweCAwO1xuICAgIHBhZGRpbmc6IDAgJHBhZGRpbmctaW5zZXQgJHBhZGRpbmctaW5zZXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxN3B4O1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWZvY3VzZWRfO1xuICB9XG59XG5cbi8vIEN1c3RvbWl6YXRpb25cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWZpbGwtY29sb3JfKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpIHtcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaG92ZXItYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcikge1xuICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIG1kYy1saW5lLXJpcHBsZS1jb2xvcigkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1sYWJlbC1pbmstY29sb3JfKCRjb2xvcikge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtaW5rLWNvbG9yKCRjb2xvcik7XG4gIH1cblxuICAvLyBDU1Mtb25seSB2ZXJzaW9uXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbi8vIFB1YmxpYyBtaXhpbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbi8vIFByaXZhdGUgbWl4aW5zXG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcl8oJGNvbG9yKSB7XG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yKSB7XG4gICYubWRjLXRleHQtZmllbGQtLWludmFsaWQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbi8vIFB1YmxpYyBtaXhpbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IoJGNvbG9yLCAkc3R5bGVTZWNvbmRJY29uOiBmYWxzZSkge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcl8oJGNvbG9yLCAkc3R5bGVTZWNvbmRJY29uKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXygkcG9zaXRpb24tcHJvcGVydHksICRwb3NpdGlvbiwgJHBhZGRpbmcpIHtcbiAgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbigkcG9zaXRpb24tcHJvcGVydHksICRwb3NpdGlvbik7XG4gIH1cblxuICAvLyBNb3ZlIHRoZSBpbnB1dCdzIHBvc2l0aW9uLCB0byBhbGxvdyByb29tIGZvciB0aGUgaWNvblxuICBAaWYgKCRwb3NpdGlvbi1wcm9wZXJ0eSA9PSBsZWZ0KSB7XG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkcGFkZGluZyAvKiBsZWZ0LXZhbHVlICovLCAkcG9zaXRpb24gIC8qIHJpZ2h0LXZhbHVlICovKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJHBvc2l0aW9uIC8qIGxlZnQtdmFsdWUgKi8sICRwYWRkaW5nICAvKiByaWdodC12YWx1ZSAqLyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1pY29uLWhvcml6b250YWwtcG9zaXRpb24tdHdvLWljb25zXygkcG9zaXRpb24tbGVmdCwgJHBhZGRpbmctbGVmdCwgJHBvc2l0aW9uLXJpZ2h0LCAkcGFkZGluZy1yaWdodCkge1xuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKGxlZnQsICRwb3NpdGlvbi1sZWZ0LCByaWdodCwgYXV0byk7XG5cbiAgICB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShyaWdodCwgJHBvc2l0aW9uLXJpZ2h0LCBsZWZ0LCBhdXRvKTtcbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIHRoZSBpbnB1dCdzIHBvc2l0aW9uLCB0byBhbGxvdyByb29tIGZvciB0aGUgaWNvbnMuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRwYWRkaW5nLWxlZnQsICRwYWRkaW5nLXJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaWNvbi1jb2xvcl8oJGNvbG9yLCAkc3R5bGVTZWNvbmRJY29uOiBmYWxzZSkge1xuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpZiAoJHN0eWxlU2Vjb25kSWNvbikge1xuICAgICAgfiAubWRjLXRleHQtZmllbGRfX2ljb24geyAvLyBTZWxlY3RzIHRoZSBzZWNvbmQgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZWdhcmRsZXNzIG9mIGVsZW1lbnQgdHlwZS5cbiAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoJHdpZHRoKSB7XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cblxuQG1peGluIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xuICAkcmFkaXVzOiBtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhtZGMtc2hhcGUtbWFzay1yYWRpdXMoJHJhZGl1cywgMSAwIDAgMSksICRydGwtcmVmbGV4aXZlOiB0cnVlKTtcblxuICAgIEBpZiAoJHJhZGl1cyA+ICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpIHtcbiAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhtZGMtc2hhcGUtbWFzay1yYWRpdXMoJHJhZGl1cywgMCAxIDEgMCksICRydGwtcmVmbGV4aXZlOiB0cnVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUpIHtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRwb3NpdGlvblkgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1sYWJlbC1hZGp1c3QsICRwb3NpdGlvblgsIDEpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6ICgkc2NhbGUgKiAxcmVtKTtcbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YLCAkc2NhbGUpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJG1kYy10ZXh0LWZpZWxkLWljb24tcG9zaXRpb246IDE2cHg7XG4kbWRjLXRleHQtZmllbGQtdHJhaWxpbmctaWNvbi1wb3NpdGlvbjogMTJweDtcbiRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmc6IDQ4cHg7XG4kbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nOiA0NHB4O1xuJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcG9zaXRpb246IDEycHg7XG4kbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nOiAzOHB4O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgMCUsXG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF87XG4gIH1cblxuICA1MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gIH1cblxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAwJSxcbiAgNjguMiUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG5cbiAgNjguMiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tYWNjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF8gKiAtMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDMyLjglLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLWNoZWNrYm94LW1hcmstY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXByaW1hcnkpO1xuJG1kYy1jaGVja2JveC1ib3JkZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC41NCk7XG4kbWRjLWNoZWNrYm94LWRpc2FibGVkLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMjYpO1xuJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvcjogc2Vjb25kYXJ5O1xuXG4kbWRjLWNoZWNrYm94LXRvdWNoLWFyZWE6IDQwcHg7XG4kbWRjLWNoZWNrYm94LXNpemU6IDE4cHg7XG4kbWRjLWNoZWNrYm94LXVpLXBjdDogcGVyY2VudGFnZSgkbWRjLWNoZWNrYm94LXNpemUgLyAkbWRjLWNoZWNrYm94LXRvdWNoLWFyZWEpO1xuJG1kYy1jaGVja2JveC1tYXJrLXN0cm9rZS1zaXplOiAyLzE1ICogJG1kYy1jaGVja2JveC1zaXplO1xuJG1kYy1jaGVja2JveC1ib3JkZXItd2lkdGg6IDJweDtcbiRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbjogOTBtcztcbiRtZGMtY2hlY2tib3gtaXRlbS1zcGFjaW5nOiA0cHg7XG4kbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1vcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF86IDI5Ljc4MzMzODU7XG4kbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fOiBjdWJpYy1iZXppZXIoLjE0LCAwLCAwLCAxKTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9jb21tb25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2hlY2tib3hcblxuLm1kYy1jaGVja2JveCB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1iYXNlXztcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRtZGMtY2hlY2tib3gtYmFzZWxpbmUtdGhlbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy11bmJvdW5kZWQ7XG59XG5cbkBhdC1yb290IHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWluay1jb2xvcigkbWRjLWNoZWNrYm94LW1hcmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRtZGMtY2hlY2tib3gtYmFzZWxpbmUtdGhlbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycztcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWRpc2FibGVkLWNvbnRhaW5lci1jb2xvcl87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgbWFyZ2luOiAwIDFweDsgIC8vIEV4dHJhIGhvcml6b250YWwgc3BhY2UgYXJvdW5kIG1peGVkbWFyayBzeW1ib2wuXG4gIH1cbn1cblxuLy8gTmVlZGVkIHRvIGRpc2FibGUgaG92ZXIgZWZmZWN0cyBvbiBDU1Mtb25seSAobm9uLUpTKSBjaGVja2JveGVzXG4ubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC0tZGlzYWJsZWRfO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kXztcbn1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGVja21hcmtfO1xufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhfO1xufVxuXG4ubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX21peGVkbWFya187XG59XG5cbi8vIEpTIGNoZWNrYm94XG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCB7XG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbiAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGlsZC0tdXBncmFkZWRfO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0ge1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtLWFuaW1fO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLS1tYXJrZWRfO1xuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLS1tYXJrZWRfO1xuICB9XG59XG5cbi8vIFRoZSBmcmFtZSdzIDo6YmVmb3JlIGVsZW1lbnQgaXMgdXNlZCBhcyBhIGZvY3VzIGluZGljYXRvciBmb3IgdGhlIGNoZWNrYm94XG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvcl87XG59XG5cbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19mb2N1cy1pbmRpY2F0b3ItLXJpcHBsZS11cGdyYWRlZC11bmJvdW5kZWRfO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fZm9jdXMtaW5kaWNhdG9yLS1mb2N1c2VkXztcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sXztcblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtLWRpc2FibGVkXztcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGVja21hcmstLWNoZWNrZWRfO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX21peGVkbWFyay0tY2hlY2tlZF87XG4gIH1cbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19taXhlZG1hcmstLWluZGV0ZXJtaW5hdGVfO1xuICB9XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy9cbi8vIFB1YmxpY1xuLy9cblxuQG1peGluIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzKFxuICAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yOiAkbWRjLWNoZWNrYm94LWJvcmRlci1jb2xvcixcbiAgJHVubWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAkbWFya2VkLXN0cm9rZS1jb2xvcjogJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvcixcbiAgJG1hcmtlZC1maWxsLWNvbG9yOiAkbWRjLWNoZWNrYm94LWJhc2VsaW5lLXRoZW1lLWNvbG9yLFxuICAkZ2VuZXJhdGUta2V5ZnJhbWVzOiB0cnVlKSB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC11bm1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICR1bm1hcmtlZC1zdHJva2UtY29sb3IpO1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICR1bm1hcmtlZC1maWxsLWNvbG9yKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkbWFya2VkLXN0cm9rZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkZ2VuZXJhdGUta2V5ZnJhbWVzIHtcbiAgICAkdWlkOiBtZGMtY2hlY2tib3gtY29udGFpbmVyLWtleWZyYW1lcy11aWRfKCk7XG4gICAgJGFuaW0tc2VsZWN0b3I6IGlmKCYsIFwiJi5tZGMtY2hlY2tib3gtLWFuaW1cIiwgXCIubWRjLWNoZWNrYm94LS1hbmltXCIpO1xuXG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAgICAgJGZyb20tc3Ryb2tlLWNvbG9yOiAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgJHRvLXN0cm9rZS1jb2xvcjogJG1hcmtlZC1zdHJva2UtY29sb3IsXG4gICAgICAkZnJvbS1maWxsLWNvbG9yOiAkdW5tYXJrZWQtZmlsbC1jb2xvcixcbiAgICAgICR0by1maWxsLWNvbG9yOiAkbWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAkdWlkOiAkdWlkKTtcblxuICAgICN7JGFuaW0tc2VsZWN0b3J9IHtcbiAgICAgICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICAgICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLSN7JHVpZH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgICAgICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC1pbmstY29sb3IoJGNvbG9yKSB7XG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IpIHtcbiAgLy8gVGhlIDo6YmVmb3JlIGVsZW1lbnQgaXMgdXNlZCBhcyBhIGZvY3VzIGluZGljYXRvciBmb3IgdGhlIGNoZWNrYm94XG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtYmFzZV8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwICRtZGMtY2hlY2tib3gtc2l6ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkbWRjLWNoZWNrYm94LXNpemU7XG4gIGhlaWdodDogJG1kYy1jaGVja2JveC1zaXplO1xuICBwYWRkaW5nOiAoJG1kYy1jaGVja2JveC10b3VjaC1hcmVhIC0gJG1kYy1jaGVja2JveC1zaXplKSAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29udGFpbmVyLWNvbG9yXyB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC11bm1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkbWRjLWNoZWNrYm94LWRpc2FibGVkLWNvbG9yKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtLWRpc2FibGVkXyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoaWxkLS1jb3Zlci1wYXJlbnRfIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoaWxkLS11cGdyYWRlZF8ge1xuICAvLyBEdWUgdG8gdGhlIG15cmlhZCBvZiBzZWxlY3RvciBjb21ib3MgdXNlZCB0byBwcm9wZXJseSBzdHlsZSBhIENTUy1vbmx5IGNoZWNrYm94LCBhbGwgb2ZcbiAgLy8gd2hpY2ggaGF2ZSB2YXJ5aW5nIHNlbGVjdG9yIHByZWNlZGVuY2UgYW5kIG1ha2UgdXNlIG9mIHRyYW5zaXRpb25zLCBpdCBpcyBjbGVhbmVyIGFuZCBtb3JlXG4gIC8vIGVmZmljaWVudCBoZXJlIHRvIHNpbXBseSB1c2UgIWltcG9ydGFudCwgc2luY2UgdGhlIG1kYy1jaGVja2JveC0tYW5pbS0qIGNsYXNzZXMgd2lsbCB0YWtlXG4gIC8vIG92ZXIgZnJvbSBoZXJlLlxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFuaW1hdGlvblxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LS1hbmltXyB7XG4gICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fOiA1MDBtcztcblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUsXG4gICYtY2hlY2tlZC11bmNoZWNrZWQsXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gKiAyO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIC8vIEluc3RlYWQgb2YgZGVsYXlpbmcgdGhlIGFuaW1hdGlvbiwgd2Ugc2ltcGx5IG11bHRpcGx5IGl0cyBsZW5ndGggYnkgMiBhbmQgYmVnaW4gdGhlXG4gICAgICAvLyBhbmltYXRpb24gYXQgNTAlIGluIG9yZGVyIHRvIHByZXZlbnQgYSBmbGFzaCBvZiBzdHlsZXMgYXBwbGllZCB0byBhIGNoZWNrZWQgY2hlY2ttYXJrXG4gICAgICAvLyBhcyB0aGUgYmFja2dyb3VuZCBpcyBmYWRpbmcgaW4gYmVmb3JlIHRoZSBhbmltYXRpb24gYmVnaW5zLlxuICAgICAgYW5pbWF0aW9uOiAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gKiAyIGxpbmVhciAwcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGg7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246ICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyaztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgICAgYW5pbWF0aW9uOiAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBhbmltYXRpb246ICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcms7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246ICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcms7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcms7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246ICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fIGxpbmVhciAwcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyaztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbmRldGVybWluYXRlLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gKiAuNiBsaW5lYXIgMHMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyaztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG4vLyBCYWNrZ3JvdW5kXG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtdW5tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1lbmFibGVkXyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LXVubWFya2VkLWJhY2tncm91bmQtc2VsZWN0b3ItZGlzYWJsZWRfIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC1zcGVjaWZpY2l0eVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LW1hcmtlZC1iYWNrZ3JvdW5kLXNlbGVjdG9yLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveC1tYXJrZWQtYmFja2dyb3VuZC1zZWxlY3Rvci1kaXNhYmxlZF8ge1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2JhY2tncm91bmRfIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24oXG4gICAgbGVmdCwgKCRtZGMtY2hlY2tib3gtdG91Y2gtYXJlYSAtICRtZGMtY2hlY2tib3gtc2l6ZSkgLyAyLCBcIi5tZGMtY2hlY2tib3hcIik7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAoJG1kYy1jaGVja2JveC10b3VjaC1hcmVhIC0gJG1kYy1jaGVja2JveC1zaXplKSAvIDI7XG4gIGJvdHRvbTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkbWRjLWNoZWNrYm94LXVpLXBjdDtcbiAgaGVpZ2h0OiAkbWRjLWNoZWNrYm94LXVpLXBjdDtcbiAgdHJhbnNpdGlvbjpcbiAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KGJhY2tncm91bmQtY29sb3IpLFxuICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgLy8gYm9yZGVyLWNvbG9yIGlzIG92ZXJyaWRkZW4gYnkgdGhlIG1kYy1jaGVja2JveC11bm1hcmtlZC1zdHJva2UtY29sb3IoKSBtaXhpblxuICBib3JkZXI6ICRtZGMtY2hlY2tib3gtYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2JhY2tncm91bmQtLW1hcmtlZF8ge1xuICB0cmFuc2l0aW9uOlxuICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKGJvcmRlci1jb2xvciksXG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIoYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8vIEZvY3VzIGluZGljYXRvclxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19mb2N1cy1pbmRpY2F0b3JfIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGlsZC0tY292ZXItcGFyZW50XztcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICB0cmFuc2l0aW9uOiBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLCBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvci0tZm9jdXNlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDIuNzUsIDIuNzUpO1xuICB0cmFuc2l0aW9uOlxuICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKG9wYWNpdHksIDBtcywgODBtcyksXG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIDgwbXMpO1xuICBvcGFjaXR5OiAkbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1vcGFjaXR5O1xufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19mb2N1cy1pbmRpY2F0b3ItLXJpcHBsZS11cGdyYWRlZC11bmJvdW5kZWRfIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLy8gTmF0aXZlIGlucHV0XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sXyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLy8gQ2hlY2sgbWFya1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19jaGVja21hcmtfIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGlsZC0tY292ZXItcGFyZW50XztcblxuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICBvcGFjaXR5OiAwO1xuXG4gIC5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLS1jaGVja2VkXyB7XG4gIHRyYW5zaXRpb246XG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIob3BhY2l0eSwgMG1zLCAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gKiAyKSxcbiAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1lbnRlcih0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay0taW5kZXRlcm1pbmF0ZV8ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb246XG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiksXG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8gQ2hlY2sgbWFyayBwYXRoXG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoXyB7XG4gIHRyYW5zaXRpb246XG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0LFxuICAgICAgMG1zLFxuICAgICAgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMlxuICAgICk7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6ICRtZGMtY2hlY2tib3gtbWFyay1zdHJva2Utc2l6ZSAqIDEuMztcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF87XG4gIHN0cm9rZS1kYXNoYXJyYXk6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF87XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLS1tYXJrZWRfIHtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG59XG5cbi8vIE1peGVkIG1hcmtcblxuQG1peGluIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrXyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNpdGlvbjogbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChvcGFjaXR5KSwgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICBib3JkZXItd2lkdGg6IGZsb29yKCRtZGMtY2hlY2tib3gtbWFyay1zdHJva2Utc2l6ZSkgLyAyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvcGFjaXR5OiAwO1xufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19taXhlZG1hcmstLWNoZWNrZWRfIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKC00NWRlZyk7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX21peGVkbWFyay0taW5kZXRlcm1pbmF0ZV8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGtleWZyYW1lcyBtZGMtc2VsZWN0LWZsb2F0LW5hdGl2ZS1jb250cm9sIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLy8gIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyAgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vICBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOi9cbi8vXG4vLyAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vICBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4vXG4vL1xuLy8gIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtc2VsZWN0LWljb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcihvbi1zdXJmYWNlKTtcblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGhlaWdodDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogJG1kYy1zZWxlY3QtaWNvbi1vcGFjaXR5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKCRpY29uUG9zaXRpb24sICRpbnB1dFBhZGRpbmcpIHtcbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uUG9zaXRpb24pO1xuICB9XG5cbiAgLy8gTW92ZSB0aGUgaW5wdXQncyBwb3NpdGlvbiwgdG8gYWxsb3cgcm9vbSBmb3IgdGhlIGljb25cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJGlucHV0UGFkZGluZyAvKiBsZWZ0ICovLCAkbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmcgLyogcmlnaHQgKi8pO1xuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXNlbGVjdC1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLW9wYWNpdHk6IC41NCAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWljb24tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmc6IDMycHggIWRlZmF1bHQ7XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pY29uXztcbn1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBzZWxlY3QtaGVscGVyLXRleHRcbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoY2FwdGlvbik7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgxNnB4KTtcblxuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG1kYy1zZWxlY3QtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7XG59XG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9tZGMtbGluZS1yaXBwbGVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21kYy1ub3RjaGVkLW91dGxpbmVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWRjLWZsb2F0aW5nLWxhYmVsXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9jb21tb25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9pY29uL21kYy1zZWxlY3QtaWNvblwiO1xuQGltcG9ydCBcIi4vaGVscGVyLXRleHQvbWRjLXNlbGVjdC1oZWxwZXItdGV4dFwiO1xuQGltcG9ydCBcIi4vaGVscGVyLXRleHQvbWl4aW5zXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHNlbGVjdFxuLm1kYy1zZWxlY3Qge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKCRtZGMtc2VsZWN0LWZpbGwtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gIC8vIFNlbGVjdCBpbnRlbnRpb25hbGx5IG9taXRzIHByZXNzIHJpcHBsZSwgc28gZWFjaCBzdGF0ZSBuZWVkcyB0byBiZSBzcGVjaWZpZWQgaW5kaXZpZHVhbGx5LlxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJG1kYy1zZWxlY3QtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXNlbGVjdC1pbmstY29sb3IsIGhvdmVyKSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJG1kYy1zZWxlY3QtaW5rLWNvbG9yLCBmb2N1cykpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWluay1jb2xvcigkbWRjLXNlbGVjdC1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1ib3R0b20tbGluZS1pZGxlLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcigkbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtc2hhcGUtcmFkaXVzKG1lZGl1bSk7XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZSBjb2xvcnNcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcik7XG5cbiAgLy8gSG92ZXIgc3RhdGUgY29sb3JzXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtaG92ZXItY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJG1kYy1zZWxlY3QtbGFiZWwtcG9zaXRpb24teSk7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZmxvYXRpbmctbGFiZWxfO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogJG1kYy1zZWxlY3QtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjtcblxuICAmX19kcm9wZG93bi1pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18oJG1kYy1zZWxlY3QtZHJvcGRvd24tY29sb3IsICRtZGMtc2VsZWN0LWRyb3Bkb3duLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKGxlZnQsIGF1dG8sIHJpZ2h0LCA4cHgpO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTZweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtZGMtc2VsZWN0LWRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgJiB7XG4gICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18obWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSksIDEpO1xuXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1kYy1zZWxlY3QtZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgfVxuICB9XG5cbiAgJl9fbmF0aXZlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLWxpbmUtcmlwcGxlXyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1kYy1zZWxlY3QtaGVscGVyLXRleHRfO1xuQGluY2x1ZGUgbWRjLXNlbGVjdC10ZXh0LWFuZC1jb250cm9sXygpO1xuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmVkXztcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG5cbiAgLy8gSG92ZXIgc3RhdGUgY29sb3JzXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kZC1hcnJvdy1zdmctYmdfKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yLCAxKTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1kYy1zZWxlY3QtLXJlcXVpcmVkIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCIqXCI7XG4gIH1cbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kaXNhYmxlZF87XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsIG9uLXN1cmZhY2UpO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzKG9uLXN1cmZhY2UpO1xufVxuXG5AaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24sICRtZGMtc2VsZWN0LW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksICRtZGMtc2VsZWN0LW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgpO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCwgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgLSRtZGMtc2VsZWN0LW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgpO1xuXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLXNlbGVjdC1hcnJvdy1wYWRkaW5nOiA1MnB4O1xuJG1kYy1zZWxlY3QtbGFiZWwtcGFkZGluZzogMTZweDtcbiRtZGMtc2VsZWN0LWhlaWdodDogNTZweDtcbiRtZGMtc2VsZWN0LWljb24tcGFkZGluZzogNDhweDtcblxuJG1kYy1zZWxlY3QtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpO1xuJG1kYy1zZWxlY3QtZHJvcGRvd24tY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpO1xuJG1kYy1zZWxlY3QtaWNvbi1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KTtcbiRtZGMtc2VsZWN0LWxhYmVsLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNik7XG4kbWRjLXNlbGVjdC1mb2N1c2VkLWxhYmVsLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKHByaW1hcnkpLCAuODcpO1xuJG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtaWRsZS1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjQyKTtcbiRtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWhvdmVyLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpO1xuJG1kYy1zZWxlY3QtaGVscGVyLXRleHQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC42KTtcblxuJG1kYy1zZWxlY3QtZmlsbC1jb2xvcjogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpO1xuXG4kbWRjLXNlbGVjdC1vdXRsaW5lZC1pZGxlLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjI0KTtcbiRtZGMtc2VsZWN0LWRyb3Bkb3duLW9wYWNpdHk6IC41NDtcblxuLy8gRGlzYWJsZWQgU3R5bGVzXG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1sYWJlbC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM3KTtcbiRtZGMtc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNyk7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNyk7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1maWxsLWNvbG9yOiBtaXgobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIG1kYy10aGVtZS1wcm9wLXZhbHVlKHN1cmZhY2UpLCAyJSk7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1kcm9wZG93bi1vcGFjaXR5OiAuMzc7XG5cbi8vIHNob3VsZCBiZSAuMDYgYWZ0ZXIgbWRjLXNlbGVjdCBvcGFjaXR5IGlzIGFwcGxpZWRcbiRtZGMtc2VsZWN0LW91dGxpbmVkLWRpc2FibGVkLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjE2KTtcbiRtZGMtc2VsZWN0LW91dGxpbmVkLWhvdmVyLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KTtcblxuJG1kYy1zZWxlY3QtbGFiZWwtcG9zaXRpb24teTogNzAlO1xuJG1kYy1zZWxlY3Qtb3V0bGluZS1sYWJlbC1vZmZzZXQ6IDE2cHg7XG4kbWRjLXNlbGVjdC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15OiAxMzAlO1xuJG1kYy1zZWxlY3Qtb3V0bGluZWQtZGVuc2UtbGFiZWwtcG9zaXRpb24teTogMTEwJTtcbiRtZGMtc2VsZWN0LW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDMycHg7XG5cbiRtZGMtc2VsZWN0LWRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuXG4vLyBFcnJvciBjb2xvcnNcbiRtZGMtc2VsZWN0LWVycm9yLWNvbG9yOiBlcnJvcjtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9pY29uL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIFB1YmxpY1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1pbmstY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaW5rLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1pbmstY29sb3IobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1uYXRpdmUtY29udHJvbC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtbGFiZWwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcigkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkbWFza2VkLXJhZGl1czogbWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gICYsXG4gICZfX25hdGl2ZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtc2VsZWN0LWhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gICRyZXNvbHZlZC1yYWRpdXM6IG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtc2VsZWN0LWhlaWdodCwgJHJhZGl1cyk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlKTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmVzb2x2ZWQtcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cblxuICAkcmFkaXVzLXBpeGVsczogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJlc29sdmVkLXJhZGl1cyk7XG5cbiAgQGlmICgkcmFkaXVzLXBpeGVscyA+ICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJHJhZGl1cy1waXhlbHMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLCAkbWRjLXNlbGVjdC1hcnJvdy1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgJHJhZGl1cy1waXhlbHMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLCAkbWRjLXNlbGVjdC1vdXRsaW5lLWxhYmVsLW9mZnNldCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFByaXZhdGVcbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc3Ryb2tlLXdpZHRoKDJweCk7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWlkbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1pbmstY29sb3JfKCRjb2xvcikge1xuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1jb250YWluZXItZmlsbC1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpIHtcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1uYXRpdmUtY29udHJvbC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1uYXRpdmUtY29udHJvbC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgICBAaW5jbHVkZSBtZGMtbGluZS1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1kZC1hcnJvdy1zdmctYmdfKCRmaWxsLWhleC1udW1iZXIsICRvcGFjaXR5KSB7XG4gIC8vIExvb2t1cCBjb2xvciBhbmQgcmVtb3ZlIGxlYWRpbmcgIy5cbiAgJGZpbGwtaGV4LW51bWJlcjogbWRjLXRoZW1lLXByb3AtdmFsdWUoJGZpbGwtaGV4LW51bWJlcik7XG4gICRmaWxsLWhleC1udW1iZXI6IHN0ci1zbGljZSh1bnF1b3RlKFwiI3skZmlsbC1oZXgtbnVtYmVyfVwiKSwgMik7XG5cbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzI3skZmlsbC1oZXgtbnVtYmVyfSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyI3skb3BhY2l0eX0lMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuQG1peGluIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1zZWxlY3QtaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfixcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4ge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmVfIHtcbiAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZmxvYXRpbmctbGFiZWxfIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1zZWxlY3Qtb3V0bGluZS1sYWJlbC1vZmZzZXQpO1xuXG4gICAgdG9wOiAyMXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1pY29uLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyk7XG5cbiAgICAgIHRvcDogMTdweDtcbiAgICB9XG5cbiAgICAmLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1pY29uLXBhZGRpbmcgLSAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKTtcblxuICAgICAgICAmLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy1zZWxlY3QtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3Qtd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKDE2cHgsICRtZGMtc2VsZWN0LWljb24tcGFkZGluZyk7XG5cbiAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXNlbGVjdC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LCAkbWRjLXNlbGVjdC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KTtcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24pO1xuXG4gICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsKTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDMycHggLyogbGVmdC12YWx1ZSAqLywgMzJweCAvKiByaWdodC12YWx1ZSAqLyk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtdGV4dC1hbmQtY29udHJvbF8ge1xuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLXRvcDogMjJweDtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRtZGMtc2VsZWN0LWxhYmVsLXBhZGRpbmcsICRtZGMtc2VsZWN0LWFycm93LXBhZGRpbmcpO1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gY291bnRlcmFjdHMgdGhlIGV4dHJhIHRleHQgcGFkZGluZyB0aGF0IEZpcmVmb3ggYWRkcyBieSBkZWZhdWx0XG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeChcIlwiKSB7XG4gICAgICB0ZXh0LWluZGVudDogLTJweDtcbiAgICB9XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1kYy1zZWxlY3QtaGVpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0OyAvLyBPdmVycmlkZSBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzaGVldFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZGlzYWJsZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1jb250YWluZXItZmlsbC1jb2xvcl8oJG1kYy1zZWxlY3QtZGlzYWJsZWQtZmlsbC1jb2xvcik7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcigkbWRjLXNlbGVjdC1kaXNhYmxlZC1sYWJlbC1jb2xvcik7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kZC1hcnJvdy1zdmctYmdfKCRtZGMtc2VsZWN0LWRyb3Bkb3duLWNvbG9yLCAkbWRjLXNlbGVjdC1kaXNhYmxlZC1kcm9wZG93bi1vcGFjaXR5KTtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtc2VsZWN0LWRpc2FibGVkLWluay1jb2xvcik7XG5cbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXyh0cmFuc3BhcmVudCk7XG5cbiAgICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gICAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3JfKCRtZGMtc2VsZWN0LW91dGxpbmVkLWRpc2FibGVkLWJvcmRlcik7XG4gIH1cblxuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1vdXRsaW5lZF8ge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lLWNvbG9yKCRtZGMtc2VsZWN0LW91dGxpbmVkLWlkbGUtYm9yZGVyKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtc2VsZWN0LW91dGxpbmVkLWhvdmVyLWJvcmRlcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtc2hhcGUtcmFkaXVzKG1lZGl1bSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRtZGMtc2VsZWN0LW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksIDApO1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJG1kYy1zZWxlY3QtbGFiZWwtcGFkZGluZywgJG1kYy1zZWxlY3QtYXJyb3ctcGFkZGluZyk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1oZWxwZXItdGV4dF8ge1xuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgLm1kYy1zZWxlY3QgKyAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCArICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIH1cblxuICAubWRjLXNlbGVjdC0tZm9jdXNlZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0Om5vdCgubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcl8oJGNvbG9yKSB7XG4gICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3JfKCRjb2xvcikge1xuICAmLm1kYy1zZWxlY3QtLWludmFsaWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG4iLCIvLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL2NvbW1vblwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBsaXN0XG5cbi5tZGMtbGlzdCB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG4gIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCk7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMDtcblxuICAvLyBBY2NvcmRpbmcgdG8gdGhlIG1vY2tzIGFuZCBzdGlja2Vyc2hlZXQsIHRoZSBsaW5lLWhlaWdodCBpcyBhZGp1c3RlZCB0byAyNHB4IGZvciB0ZXh0IGNvbnRlbnQsXG4gIC8vIHNhbWUgYXMgZm9yIGJvZHkxLlxuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcywgYm9keTEpLCBsaW5lLWhlaWdodCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuQGF0LXJvb3Qge1xuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLXNlY29uZGFyeS10ZXh0LWluay1jb2xvcih0ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1ncmFwaGljLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLWdyYXBoaWMtaW5rLWNvbG9yKHRleHQtaWNvbi1vbi1iYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1tZXRhLWluay1jb2xvcih0ZXh0LWhpbnQtb24tYmFja2dyb3VuZCk7XG59XG5cbi5tZGMtbGlzdC0tZGVuc2Uge1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICBmb250LXNpemU6IC44MTJyZW07XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGxpc3QtaXRlbVxuXG4ubWRjLWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDAgJG1kYy1saXN0LXNpZGUtcGFkZGluZztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi8vIFwiU2VsZWN0ZWRcIiBpcyBlcGhlbWVyYWwgYW5kIGxpa2VseSB0byBjaGFuZ2Ugc29vbi4gRS5nLiwgc2VsZWN0aW5nIG9uZSBvciBtb3JlIHBob3RvcyB0byBzaGFyZSBpbiBHb29nbGUgUGhvdG9zLlxuLy8gXCJBY3RpdmF0ZWRcIiBpcyBtb3JlIHBlcm1hbmVudC4gRS5nLiwgdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBuYXZpZ2F0aW9uIGRlc3RpbmF0aW9uIGluIGEgZHJhd2VyLlxuLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLFxuLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCB7XG4gIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcihwcmltYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1ncmFwaGljLWluay1jb2xvcihwcmltYXJ5KTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgbWRjLWxpc3QtaXRlbS1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKHRleHQtZGlzYWJsZWQtb24tYmFja2dyb3VuZCk7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgQGluY2x1ZGUgbWRjLWxpc3QtZ3JhcGhpYy1zaXplXygyNHB4KTtcblxuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLy8gRXh0cmEgc3BlY2lmaWNpdHkgaXMgdG8gb3ZlcnJpZGUgLm1hdGVyaWFsLWljb25zIGRpc3BsYXkgc3R5bGUgaWYgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG1kYy1saXN0LWl0ZW1fX2dyYXBoaWNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuXG4ubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgYXV0bywgMCwgXCIubWRjLWxpc3QtaXRlbVwiKTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1vdmVyZmxvdy1lbGxpcHNpcztcbn1cblxuLy8gRGlzYWJsZSBpbnRlcmFjdGlvbiBvbiBsYWJlbCBlbGVtZW50cyB0aGF0IG1heSBhdXRvbWF0aWNhbGx5IHRvZ2dsZSBjb3JyZXNwb25kaW5nIGNoZWNrYm94IC8gcmFkaW8gaW5wdXQuXG4ubWRjLWxpc3QtaXRlbV9fdGV4dFtmb3JdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiRtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHRfOiAzMnB4O1xuJG1kYy1saXN0LWl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0XzogMjBweDtcbiRtZGMtbGlzdC1kZW5zZS1pdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHRfOiAyNHB4O1xuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktb3ZlcmZsb3ctZWxsaXBzaXM7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgkbWRjLWxpc3QtaXRlbS1wcmltYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0Xyk7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLWJvdHRvbSgkbWRjLWxpc3QtaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHRfKTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1saXN0LS1kZW5zZSAmIHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoJG1kYy1saXN0LWRlbnNlLWl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodF8pO1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLWJvdHRvbSgkbWRjLWxpc3QtaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHRfKTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxufVxuXG4ubWRjLWxpc3QtaXRlbV9fc2Vjb25kYXJ5LXRleHQge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShib2R5Mik7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LW92ZXJmbG93LWVsbGlwc2lzO1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoJG1kYy1saXN0LWl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0Xyk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtbGlzdC0tZGVuc2UgJiB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKCRtZGMtbGlzdC1pdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodF8pO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIEBpbmNsdWRlIG1kYy1saXN0LWdyYXBoaWMtc2l6ZV8oMjBweCk7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBAaW5jbHVkZSBtZGMtbGlzdC1ncmFwaGljLXNpemVfKDQwcHgpO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDcycHg7XG59XG5cbi5tZGMtbGlzdC0tdHdvLWxpbmUubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBAaW5jbHVkZSBtZGMtbGlzdC1ncmFwaGljLXNpemVfKDM2cHgpO1xufVxuXG4vLyBMaXN0IGl0ZW1zIHNob3VsZCBzdXBwb3J0IHN0YXRlcyBieSBkZWZhdWx0LCBidXQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9wdCBvdXQuXG4vLyBEaXJlY3QgY2hpbGQgY29tYmluYXRvciBpcyBuZWNlc3NhcnkgZm9yIG5vbi1pbnRlcmFjdGl2ZSBtb2RpZmllciBvbiBwYXJlbnQgdG8gbm90IG1hdGNoIHRoaXMgc2VsZWN0b3IuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWFjdGl2YXRlZChwcmltYXJ5KTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1zZWxlY3RlZChwcmltYXJ5KTtcbn1cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbi8vIE92ZXJyaWRlIGFuY2hvciB0YWcgc3R5bGVzIGZvciB0aGUgdXNlLWNhc2Ugb2YgYSBsaXN0IGJlaW5nIHVzZWQgZm9yIG5hdmlnYXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5tZGMtbGlzdC1pdGVtIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGUsc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGxpc3QtZGl2aWRlclxuXG4ubWRjLWxpc3QtZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG59XG5cbkBhdC1yb290IHtcbiAgJGRpdmlkZXItY29sb3I6IGlmKFxuICAgIG1kYy10aGVtZS10b25lKCRtZGMtdGhlbWUtYmFja2dyb3VuZCkgPT0gXCJkYXJrXCIsXG4gICAgJG1kYy1saXN0LWRpdmlkZXItY29sb3Itb24tZGFyay1iZyxcbiAgICAkbWRjLWxpc3QtZGl2aWRlci1jb2xvci1vbi1saWdodC1iZ1xuICApO1xuXG4gIEBpbmNsdWRlIG1kYy1saXN0LWRpdmlkZXItY29sb3IoJGRpdmlkZXItY29sb3IpO1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgLy8gTGVhdmUgZ2FwcyBvbiBlYWNoIHNpZGUgdG8gbWF0Y2ggdGhlIHBhZGRpbmcgb24gbGlzdCBpdGVtc1xuICBtYXJnaW46IDAgJG1kYy1saXN0LXNpZGUtcGFkZGluZztcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgJG1kYy1saXN0LXRleHQtb2Zmc2V0LCBcIi5tZGMtbGlzdC1ncm91cFwiKTtcblxuICB3aWR0aDogY2FsYygxMDAlIC0gI3skbWRjLWxpc3QtdGV4dC1vZmZzZXR9KTtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0Lm1kYy1saXN0LWRpdmlkZXItLXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtZGMtbGlzdC10ZXh0LW9mZnNldH0gLSAjeyRtZGMtbGlzdC1zaWRlLXBhZGRpbmd9KTtcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbGlzdC1ncm91cFxuXG4ubWRjLWxpc3QtZ3JvdXAge1xuICAvLyBDYW5jZWwgdG9wL2JvdHRvbSBwYWRkaW5nIG9uIGluZGl2aWR1YWwgbGlzdHMgd2l0aGluIGdyb3VwXG4gIC5tZGMtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4ubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICRtZGMtbGlzdC1zdWJoZWFkZXItdmlydHVhbC1oZWlnaHQ6IDNyZW07XG4gICRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZzogbWFwLWdldChtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1zdHlsZXMsIGJvZHkxKSwgbGluZS1oZWlnaHQpO1xuICAkbWRjLWxpc3Qtc3ViaGVhZGVyLW1hcmdpbjpcbiAgICAoJG1kYy1saXN0LXN1YmhlYWRlci12aXJ0dWFsLWhlaWdodCAtICRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZykgLyAyO1xuXG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgbWFyZ2luOiAkbWRjLWxpc3Qtc3ViaGVhZGVyLW1hcmdpbiAkbWRjLWxpc3Qtc2lkZS1wYWRkaW5nO1xufVxuXG5AYXQtcm9vdCB7XG4gIEBpbmNsdWRlIG1kYy1saXN0LWdyb3VwLXN1YmhlYWRlci1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQpO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vXG4vLyBQdWJsaWNcbi8vXG5cbkBtaXhpbiBtZGMtbGlzdC1pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLWxpc3QtaXRlbS1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IoJGNvbG9yKSB7XG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1saXN0LWl0ZW0tZ3JhcGhpYy1maWxsLWNvbG9yKCRjb2xvcikge1xuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWxpc3QtaXRlbS1ncmFwaGljLWluay1jb2xvcigkY29sb3IpIHtcbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtbGlzdC1pdGVtLW1ldGEtaW5rLWNvbG9yKCRjb2xvcikge1xuICAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1saXN0LWl0ZW0tc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1saXN0LWRpdmlkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtbGlzdC1ncm91cC1zdWJoZWFkZXItaW5rLWNvbG9yKCRjb2xvcikge1xuICAubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy9cbi8vIFByaXZhdGVcbi8vXG5cbi8vIFNldHMgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGdyYXBoaWMgZWxlbWVudCwgYXMgd2VsbCBhcyBjYWxjdWxhdGVzIHRoZSBtYXJnaW5zIGZvclxuLy8gdGhlIGdyYXBoaWMgZWxlbWVudCBzdWNoIHRoYXQgdGhlIHRleHQgaXMgYWx3YXlzIG9mZnNldCBieSA3MnB4LCB3aGljaCBpcyBkZWZpbmVkIHdpdGhpblxuLy8gdGhlIHNwZWMuXG5AbWl4aW4gbWRjLWxpc3QtZ3JhcGhpYy1zaXplXygkc2l6ZSkge1xuICAkdGV4dC1vZmZzZXQ6IDcycHg7XG4gICRzaWRlLXBhZGRpbmc6ICRtZGMtbGlzdC1zaWRlLXBhZGRpbmc7XG4gICRtYXJnaW4tdmFsdWU6ICR0ZXh0LW9mZnNldCAtICRzaWRlLXBhZGRpbmcgLSAkc2l6ZTtcblxuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgJG1hcmdpbi12YWx1ZSwgXCIubWRjLWxpc3QtaXRlbVwiKTtcblxuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG59XG4iLCIvLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbiRtZGMtbGlzdC1kaXZpZGVyLWNvbG9yLW9uLWxpZ2h0LWJnOiByZ2JhKDAsIDAsIDAsIC4xMikgIWRlZmF1bHQ7XG4kbWRjLWxpc3QtZGl2aWRlci1jb2xvci1vbi1kYXJrLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSAhZGVmYXVsdDtcbiRtZGMtbGlzdC1zaWRlLXBhZGRpbmc6IDE2cHg7XG4kbWRjLWxpc3QtdGV4dC1vZmZzZXQ6IDcycHg7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIG1lbnUtc3VyZmFjZVxuLm1kYy1tZW51LXN1cmZhY2Uge1xuICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDgpO1xuICBAaW5jbHVkZSBtZGMtbWVudS1zdXJmYWNlLWZpbGwtY29sb3Ioc3VyZmFjZSk7XG4gIEBpbmNsdWRlIG1kYy1tZW51LXN1cmZhY2UtaW5rLWNvbG9yKG9uLXN1cmZhY2UpO1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSh0cmFuc2Zvcm0tb3JpZ2luLCB0b3AgbGVmdCwgdG9wIHJpZ2h0KTtcbiAgQGluY2x1ZGUgbWRjLW1lbnUtc3VyZmFjZS1zaGFwZS1yYWRpdXMobWVkaXVtKTtcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7JG1kYy1tZW51LXN1cmZhY2UtbWluLWRpc3RhbmNlLWZyb20tZWRnZX0pO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbWRjLW1lbnUtc3VyZmFjZS1taW4tZGlzdGFuY2UtZnJvbS1lZGdlfSk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB6LWluZGV4OiAkbWRjLW1lbnUtc3VyZmFjZS16LWluZGV4O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmLS1hbmltYXRpbmctb3BlbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBvcGFjaXR5ICRtZGMtbWVudS1zdXJmYWNlLWZhZGUtaW4tZHVyYXRpb24gbGluZWFyLFxuICAgICAgdHJhbnNmb3JtICRtZGMtbWVudS1zdXJmYWNlLXNjYWxlLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYtLW9wZW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLS1hbmltYXRpbmctY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWRjLW1lbnUtc3VyZmFjZS1mYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLW1lbnUtc3VyZmFjZS1mYWRlLWluLWR1cmF0aW9uOiAuMDNzO1xuJG1kYy1tZW51LXN1cmZhY2UtZmFkZS1vdXQtZHVyYXRpb246IC4wNzVzO1xuJG1kYy1tZW51LXN1cmZhY2Utc2NhbGUtZHVyYXRpb246IC4xMnM7XG4kbWRjLW1lbnUtc3VyZmFjZS1taW4tZGlzdGFuY2UtZnJvbS1lZGdlOiAzMnB4O1xuJG1kYy1tZW51LXN1cmZhY2Utei1pbmRleDogOCAhZGVmYXVsdDsgLy8gT25lIGFib3ZlIG1kYy1kaWFsb2dcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbGlzdC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL2NvbW1vblwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuXG4vLyBDdXN0b21pemUgdGhlIG1lbnUtc3VyZmFjZSBhbmQgY29udGFpbmVkIGxpc3QgdG8gbWF0Y2ggdGhlIG1kYy1tZW51IHN0eWxlcy5cbi5tZGMtbWVudSB7XG4gIEBpbmNsdWRlIG1kYy1saXN0LWl0ZW0tbWV0YS1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBtZGMtbGlzdC1pdGVtLWdyYXBoaWMtaW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcblxuICBtaW4td2lkdGg6ICRtZGMtbWVudS1taW4td2lkdGg7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cblxuICAvL3N0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBtZW51XG4ubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCB7XG4gIHBhZGRpbmc6IDA7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KHBhZGRpbmcsIGxlZnQsIDU2cHgpO1xuICB9XG5cbiAgLy8gRXh0cmEgc3BlY2lmaWNpdHkgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYGRpc3BsYXlgIHByb3BlcnR5IG9uIGBtZGMtbGlzdC1pdGVtX19ncmFwaGljYC5cbiAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMTZweCk7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4ubWRjLW1lbnUtaXRlbS0tc2VsZWN0ZWQgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLW1lbnUtd2lkdGgtYmFzZTogNTZweDtcbiRtZGMtbWVudS1taW4td2lkdGg6IDIgKiAkbWRjLW1lbnUtd2lkdGgtYmFzZTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5Aa2V5ZnJhbWVzIHByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC43MDE3MzIsIC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDU5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgzLjY3MTQyJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwLjYxMTA1NyUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHJpbWFyeS1pbmRldGVybWluYXRlLXNjYWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC4wOCk7XG4gIH1cblxuICAzNi42NSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzM0NzMxLCAuMTI0ODIsIC43ODU4NDQsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC4wOCk7XG4gIH1cblxuICA2OS4xNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMDYsIC4xMSwgLjYsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC42NjE0NzkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLjA4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNlY29uZGFyeS1pbmRldGVybWluYXRlLXRyYW5zbGF0ZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE1LCAwLCAuNTE1MDU4LCAuNDA5Njg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzEwMzMsIC4yODQwNTgsIC44LCAuNzMzNzEyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzcuNjUxOTEzJSk7XG4gIH1cblxuICA0OC4zNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgLjYyNzAzNSwgLjYsIC45MDIwMjYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4NC4zODYxNjUlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNjAuMjc3NzgyJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIwNTAyOCwgLjA1NzA1MSwgLjU3NjYxLCAuNDUzOTcxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCguMDgpO1xuICB9XG5cbiAgMTkuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE1MjMxMywgLjE5NjQzMiwgLjY0ODM3NCwgMS4wMDQzMTUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC40NTcxMDQpO1xuICB9XG5cbiAgNDQuMTUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI1Nzc1OSwgLS4wMDMxNjMsIC4yMTE3NjIsIDEuMzgxNzkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC43Mjc5Nik7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCguMDgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYnVmZmVyaW5nIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjUsIDAsIC43MDE3MzIsIC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDU5LjE1JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04My42NzE0MiUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAuNjExMDU3JSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUtcmV2ZXJzZSB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE1LCAwLCAuNTE1MDU4LCAuNDA5Njg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyNSUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzEwMzMsIC4yODQwNTgsIC44LCAuNzMzNzEyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM3LjY1MTkxMyUpO1xuICB9XG5cbiAgNDguMzUlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIC42MjcwMzUsIC42LCAuOTAyMDI2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTg0LjM4NjE2NSUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNjAuMjc3NzgyJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBidWZmZXJpbmctcmV2ZXJzZSB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cbiIsIi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi5tZGMtbGluZWFyLXByb2dyZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNpdGlvbjogbWRjLWFuaW1hdGlvbi1leGl0LXRlbXBvcmFyeShvcGFjaXR5LCAyNTBtcyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBtZGMtYW5pbWF0aW9uLWV4aXQtdGVtcG9yYXJ5KHRyYW5zZm9ybSwgMjUwbXMpO1xuICB9XG5cbiAgJl9fYmFyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cblxuICAmX19idWZmZXJpbmctZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IGJ1ZmZlcmluZyAyNTBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCA0cHg7XG4gIH1cblxuICAmX19idWZmZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogbWRjLWFuaW1hdGlvbi1leGl0LXRlbXBvcmFyeSh0cmFuc2Zvcm0sIDI1MG1zKTtcbiAgfVxuXG4gICZfX3ByaW1hcnktYmFyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuXG4gICZfX3NlY29uZGFyeS1iYXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICYtLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXIge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgICAgbGVmdDogLTE0NS4xNjY2MTElO1xuICAgICAgYW5pbWF0aW9uOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlIDJzIGluZmluaXRlIGxpbmVhcjtcblxuICAgICAgPiAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBwcmltYXJ5LWluZGV0ZXJtaW5hdGUtc2NhbGUgMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzX19zZWNvbmRhcnktYmFyIHtcbiAgICAgIGxlZnQ6IC01NC44ODg4OTElO1xuICAgICAgYW5pbWF0aW9uOiBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUgMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgPiAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzZWNvbmRhcnktaW5kZXRlcm1pbmF0ZS1zY2FsZSAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcmV2ZXJzZWQge1xuICAgIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXIsXG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgICB9XG5cbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fcHJpbWFyeS1iYXIge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHByaW1hcnktaW5kZXRlcm1pbmF0ZS10cmFuc2xhdGUtcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAubWRjLWxpbmVhci1wcm9ncmVzc19fc2Vjb25kYXJ5LWJhciB7XG4gICAgICBhbmltYXRpb24tbmFtZTogc2Vjb25kYXJ5LWluZGV0ZXJtaW5hdGUtdHJhbnNsYXRlLXJldmVyc2U7XG4gICAgfVxuXG4gICAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgICAgIGFuaW1hdGlvbjogYnVmZmVyaW5nLXJldmVyc2UgMjUwbXMgaW5maW5pdGUgbGluZWFyO1xuICAgIH1cbiAgfVxuXG4gICYtLWNsb3NlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5AYXQtcm9vdCB7XG4gIEBpbmNsdWRlIG1kYy1saW5lYXItcHJvZ3Jlc3MtYmFyLWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtbGluZWFyLXByb2dyZXNzLWJ1ZmZlci1jb2xvcigkbWRjLWxpbmVhci1wcm9ncmVzcy1iYXNlbGluZS1idWZmZXItY29sb3IpO1xufVxuXG4ubWRjLWxpbmVhci1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZS5tZGMtbGluZWFyLXByb2dyZXNzLS1yZXZlcnNlZCB7XG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19wcmltYXJ5LWJhciB7XG4gICAgcmlnaHQ6IC0xNDUuMTY2NjExJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX3NlY29uZGFyeS1iYXIge1xuICAgIHJpZ2h0OiAtNTQuODg4ODkxJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcblxuQG1peGluIG1kYy1saW5lYXItcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb2xvcikge1xuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYmFyLWlubmVyIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtbGluZWFyLXByb2dyZXNzLWJ1ZmZlci1jb2xvcigkY29sb3IpIHtcbiAgLy8gV2UgbmVlZCB0byBlc2NhcGUgdGhlICcjJyBjaGFyYWN0ZXIgYXMgXCIlMjNcIiBmb3IgU1ZHIGJlY2F1c2UgJyMnIGlzIGEgcmVzZXJ2ZWQgY2hhcmFjdGVyIGluIFVSSXMuXG4gICRjb2xvci12YWx1ZS1mb3ItY3NzOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkY29sb3IpO1xuICAkY29sb3ItdmFsdWUtZm9yLXN2ZzogbWRjLWxpbmVhci1wcm9ncmVzcy1zdHItcmVwbGFjZV8odW5xdW90ZShcIiN7JGNvbG9yLXZhbHVlLWZvci1jc3N9XCIpLCBcIiNcIiwgXCIlMjNcIik7XG5cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgICAvLyBTVkcgaXMgb3B0aW1pemVkIGZvciBkYXRhIFVSSSAoaHR0cHM6Ly9jb2RlcGVuLmlvL3RpZ3QvcG9zdC9vcHRpbWl6aW5nLXN2Z3MtaW4tZGF0YS11cmlzKVxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi11cmwtcXVvdGVzXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHg9JzBweCcgeT0nMHB4JyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA1IDInIHhtbDpzcGFjZT0ncHJlc2VydmUnIHZpZXdCb3g9JzAgMCA1IDInIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUgc2xpY2UnJTNFJTNDY2lyY2xlIGN4PScxJyBjeT0nMScgcj0nMScgZmlsbD0nI3skY29sb3ItdmFsdWUtZm9yLXN2Z30nLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAubWRjLWxpbmVhci1wcm9ncmVzc19fYnVmZmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdmFsdWUtZm9yLWNzcztcbiAgfVxufVxuXG4vLyBCYXNlZCBvbiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3Mvc3RyLXJlcGxhY2UtZnVuY3Rpb24vXG5AZnVuY3Rpb24gbWRjLWxpbmVhci1wcm9ncmVzcy1zdHItcmVwbGFjZV8oJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2UpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgJGhlYWQ6IHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKTtcbiAgICAkdGFpbDogbWRjLWxpbmVhci1wcm9ncmVzcy1zdHItcmVwbGFjZV8oc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG5cbiAgICBAcmV0dXJuICRoZWFkICsgJHJlcGxhY2UgKyAkdGFpbDtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cbiIsIi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuJG1kYy1saW5lYXItcHJvZ3Jlc3MtYmFzZWxpbmUtYnVmZmVyLWNvbG9yOiAjZTZlNmU2ICFkZWZhdWx0O1xuIiwiLyohXG4gTWF0ZXJpYWwgQ29tcG9uZW50cyBmb3IgdGhlIFdlYlxuIENvcHlyaWdodCAoYykgMjAxOSBHb29nbGUgSW5jLlxuIExpY2Vuc2U6IE1JVFxuKi9cbi5tZGMtZGlhbG9nLFxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDc7XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UsICNmZmYpO1xufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMyKTtcbn1cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLm1kYy1kaWFsb2cubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fdGl0bGUsIC5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTkycHgpIHtcbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTkycHgpIHtcbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gIH1cbn1cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBib3gtc2hhZG93OiAwcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5tZGMtZGlhbG9nW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19zdXJmYWNlLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAyNHB4IDlweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLm1kYy1kaWFsb2dfX3RpdGxlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3RpdGxlLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4ubWRjLWRpYWxvZ19fY29udGVudCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ubWRjLWRpYWxvZ19fY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlICsgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDZweCAwIDA7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5bZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgLm1kYy1kaWFsb2dfX2J1dHRvbltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG4ubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5bZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbjpmaXJzdC1jaGlsZCwgLm1kYy1kaWFsb2dfX2J1dHRvbjpmaXJzdC1jaGlsZFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgW2Rpcj1ydGxdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19idXR0b24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4sXG4ubWRjLWRpYWxvZy0tb3BlbmluZyxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ubWRjLWRpYWxvZy0tb3BlbmluZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhciwgLXdlYmtpdC10cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCAtd2Via2l0LXRyYW5zZm9ybSAxNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19zY3JpbSxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xufVxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4ubWRjLWRpYWxvZy0tb3BlbiAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBvcGFjaXR5OiAxO1xufVxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiMgc291cmNlTWFwcGluZ1VSTD1tZGMuZGlhbG9nLmNzcy5tYXAqLyIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cbi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIGZvciBTaXRlcyB2Ni40LjNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICNkNDEyOTYsXG4gIHNlY29uZGFyeTogI2U1ZjdmZCxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNkNjRiMTMsXG4pO1xuJHdoaXRlOiAjZmZmO1xuJG9mZi13aGl0ZTogI2Y1ZjVmNTtcbiRsaWdodC1ncmF5OiAjZWJlYmViO1xuJGdyYXk6ICNjZmNmY2Y7XG4kbWVkaXVtLWdyYXk6ICM5MjkyOTI7XG4kZGFyay1ncmF5OiAjNjY2NjY2O1xuJGJsYWNrOiAjMzMzO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogI2ZmZmZmZjtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnS2FybGEnLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMC4yNXJlbTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMjAwMHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDcwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6IDA7XG4kcmV2ZWFsLWJvcmRlcjogbm9uZTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuNzUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDE4cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3gtc2hhZG93YFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMikgIWRlZmF1bHQ7XG5cbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2hhZG93IFskcHJvdG90eXBlLWJveC1zaGFkb3ddIEJveCBTaGFkb3cgb2YgYSBjb21wb25lbnRcbkBtaXhpbiBzaGFkb3coXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xuKSB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3cge1xuICAuc2hhZG93IHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcG9zaXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHBvc2l0aW9uIGhlbHBlcnNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHBvc2l0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKSAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NSAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwb3NpdGlvbiBbXSBQb3NpdGlvbiBjbGFzc2VzLCBFaXRoZXIgYHN0YXRpY2AsIGByZWxhdGl2ZWAsIGBhYnNvbHV0ZWAgb3IgYGZpeGVkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFRvcCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIEJvdHRvbSBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTGVmdCBvZmZzZXRcbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50O1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIHRvcCBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC10b3BgXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIGJvdHRvbSBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC1ib3R0b21gXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICAgICAgICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLW92ZXJmbG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBvdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgb3ZlcmZsb3dgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3Nlc1xuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdzogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIGhvcml6b250YWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKGhvcml6b250YWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy14OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gdmVydGljYWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKHZlcnRpY2FsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteTogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdyB7XG4gIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1kaXNwbGF5XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBkaXNwbGF5IGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgZGlzcGxheWAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW10gRGlzcGxheSBjbGFzc2VzXG5AbWl4aW4gZGlzcGxheSgkZGlzcGxheSkge1xuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XG4gIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBib3ggdXRpbGl0eVxuQG1peGluIGJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcbiAgLmJvcmRlci1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNwYWNpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDMgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1tYXJnaW5gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gTWFyZ2luIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gTWFyZ2luIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBNYXJnaW4gTGVmdFxuQG1peGluIG1hcmdpbihcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIG1hcmdpbi10b3A6ICR0b3AgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBtYXJnaW4tbGVmdDogJGxlZnQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQYWRkaW5nIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcGFkZGluZ2Agd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUGFkZGluZyBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIFBhZGRpbmcgQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxuQG1peGluIHBhZGRpbmcoXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRvcCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gQWxsIFNpZGVzXG4gICAgLm1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVG9wIFNpZGVcbiAgICAubWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAubWFyZ2luLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBCb3R0b20gU2lkZVxuICAgIC5tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gTGVmdCBTaWRlXG4gICAgLm1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgIC5tYXJnaW4taG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBBeGVzXG4gICAgLm1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIC5wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmlnaHQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQm90dG9tIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTGVmdCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG9yaXpvbnRhbCBBeGVzXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVmVydGljYWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtZGMtc2V0dGluZ3MnO1xuQGltcG9ydCAnbW90aW9uLXVpJztcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZm9ybS1maWVsZC9tZGMtZm9ybS1maWVsZFwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby9tZGMtcmFkaW9cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYnV0dG9uL21kYy1idXR0b25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGV4dGZpZWxkL21kYy10ZXh0LWZpZWxkXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L21kYy1jaGVja2JveFwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvbWRjLXNlbGVjdFwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saXN0L21kYy1saXN0XCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL21lbnUtc3VyZmFjZS9tZGMtbWVudS1zdXJmYWNlXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL21lbnUvbWRjLW1lbnVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbGluZWFyLXByb2dyZXNzL21kYy1saW5lYXItcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZGlhbG9nL2Rpc3QvbWRjLmRpYWxvZ1wiO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuLy8gR2xvYmFsXG5AaW1wb3J0IFwiZ2xvYmFsL3ZhcnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcblxuLy8gTW9kdWxlc1xuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2VkaXRvci1zdHlsZVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWVudXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9ncmVzcy1iYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZsZXhpYmxlLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vZGFsc1wiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvcHJvb2ZcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvY3JlYXRlLWFjY291bnRcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvbG9naW5cIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvd29vY29tbWVyY2VcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvbWlzc2luZy1qb2JzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZS1wcm9kdWN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9teS1hY2NvdW50XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NlYXJjaC1yZXN1bHRzXCI7XG4iLCI6cm9vdCB7XG4gIC0tbWRjLXRoZW1lLWVycm9yOiAjZDY0YjEzO1xufVxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIuYWNjb3VudC11c2VybmFtZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuXG4gIHN0cm9uZyB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3BhY2l0eTogMzAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEycmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG59XG5cbi5wYWdlLWhlYWRlciB7XG5cbiAgLmN1cnJlbnQtdXNlci1kZXRhaWxzIHtcbiAgICBtaW4taGVpZ2h0OiA1LjVyZW07XG4gIH1cblxuICAuY29udGFjdC1pbmZvLWNvbnRhaW5lciB7XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICBwLmNvbnRhY3QtaW5mbyB7XG4gICAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbG9nbyB7XG4gICAgbWF4LWhlaWdodDogN3JlbTtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHdpZHRoOiAxNHJlbTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMCAwIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5oZWFkZXJfYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTtcblxuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjZyZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LWxvZ2dlZC1pbi10aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wYWdlLW5hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1uYXZpZ2F0aW9uIHtcblxuICAgIC5tZW51IHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XG5cbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLWZvcm0ge1xuICAgIG1hcmdpbjogMnJlbSAtMi41cmVtIDAgMDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuN3JlbSAwLjVyZW0gMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAwOyBcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMXMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhvbWUge1xuICAuZmVhdHVyZWQtaGVyby1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVkLWhlcm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1pbi1oZWlnaHQ6IDMycmVtO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM2cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ubG9nZ2VkLWluIHtcbiAgaGVhZGVyLnBhZ2UtaGVhZGVyIHtcbiAgICAucGFnZS10aXRsZSB7XG5cbiAgICAgIC5nbG9iYWwtYWxlcnQtY2VsbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5nbG9iYWwtYWxlcnQtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDFzIGVhc2U7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMC42MjVyZW0gLSA4cHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi13aWR0aDogNzVweDtcblxuICAgICAgICAmLmNsb3NlZCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDYycHg7XG5cbiAgICAgICAgICAuZ2xvYmFsLWFsZXJ0IHtcbiAgICAgICAgICAgIC5nbG9iYWwtYWxlcnQtYXJyb3dzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nbG9iYWwtYWxlcnQtbWVzc2FnZSB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFmNlwiO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZjNcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2xvYmFsLWFsZXJ0LW1lc3NhZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxpbmUtaGVpZ2h0IDFzIGVhc2U7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5jbG9zZWQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTIwJSArIDAuOTM3NXJlbSArIDhweCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAxcyAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuOTM3NXJlbSAtIDhweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmliYm9uLWNvcm5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXRoZW1lLWRhcmspO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAgICAgICAwJSAgIHsgbWF4LXdpZHRoOiA3NXB4OyB9XG4gICAgICAgIDEwMCUgeyBtYXgtd2lkdGg6IGNhbGMoMTIwJSArIDAuOTM3NXJlbSArIDhweCk7IH1cbiAgICAgIH1cblxuICAgICAgLmdsb2JhbC1hbGVydCB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCAycHggaHNsYSgwLDAlLDAlLC41KSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogNTAwcHg7XG5cbiAgICAgICAgLmdsb2JhbC1hbGVydC1hcnJvd3MtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMDBweCBzb2xpZCB2YXIoLS10aGVtZS1saWdodCk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEzNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTM1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2xvYmFsLWFsZXJ0LWJhY2tncm91bmQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxZjZcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICB0b3A6IDAuOXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGhlaWdodDogMS4zcmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjNyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LWxvZ2dlZC1pbi10aXRsZSB7XG4gICAgICBAZXh0ZW5kIC5oaWRlLWZvci1sYXJnZVxuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuaGVhZGVyX2J1dHRvbnMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZmZmZiwgMC43KTtcbiAgfVxuXG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgbWFyZ2luOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICBidXR0b24ge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgIC5tZW51LWljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIGkge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiIsImJvZHkge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAgICYubG9nZ2VkLWluIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5hdXRvLCBbY2xhc3MqPSctYXV0byddLCAuc2hyaW5rIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cblxuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmgzLCBoNCwgaDUsIGg2LCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNSwgaDYsIC5oNSwgLmg2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmgxLCBoNCwgaDYsIC5oMSwgLmg0LCAuaDYge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcblxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgfVxufVxuXG5hIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspO1xuICB9XG59XG5cbnAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubXVsdGlwbGUtY29sdW1ucyB7XG4gIC5zaW5nbGUtY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgfVxufVxuXG5wLnRpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW11bHRpbGluZSB7XG4gIGhlaWdodDogMjAwcHg7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgYm90dG9tOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgfVxuXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lLWF1dG8pIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgYm90dG9tOiBjYWxjKDEwMCUgLSAzOXB4KTtcbiAgfVxuXG4gICYubWRjLXRleHQtZmllbGQtLW11bHRpbGluZS1zbWFsbCB7XG4gICAgaGVpZ2h0OiAxMjVweDtcbiAgfVxuXG4gICYubWRjLXRleHQtZmllbGQtLW11bHRpbGluZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbn1cblxuLmZvcm0tc2VjdGlvbi1udW1iZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkaDQtZm9udC1zaXplICogMztcbiAgaGVpZ2h0OiAkaDQtZm9udC1zaXplICogMztcbiAgYm9yZGVyLXJhZGl1czogJGg0LWZvbnQtc2l6ZSAqIDEuNTtcbiAgbGluZS1oZWlnaHQ6ICRoNC1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRoNC1mb250LXNpemU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG1hcmdpbi1yaWdodDogJGg0LWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9ybS1zZWN0aW9uLWhlYWRlciB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYudGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgJi50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgQGV4dGVuZCAuaDQ7XG59XG5cbi5uby1tYXJnaW4ge1xuICBtYXJnaW46IDAhaW1wb3J0YW50O1xufVxuXG4uZGFyayB7XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4jaGtiIG9sLmhrYi1icmVhZGNydW1icyB7XG4gIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5jZWxsLWxpbmUtYnJlYWsge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtbGVzcy1wYWRkaW5nLXgge1xuICBtYXJnaW4tbGVmdDogLSRnbG9iYWwtcGFkZGluZy8yO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ2xvYmFsLXBhZGRpbmcvMjtcblxuICAuY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmcvMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmcvMjtcbiAgfVxufVxuXG4uZm9ybS1zZWN0aW9uLXN1YmhlYWRlciB7XG4gIEBleHRlbmQgLmg2O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbn1cblxuLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuZmlsZV9wcm9ncmVzc19iYXIge1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAuZmlsZV9wcm9ncmVzc19pbm5lciB7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmlsZV9tZXNzYWdlYmxvY2tfaGVhZGVyX3RkIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIC5maWxlX21lc3NhZ2VibG9ja19oZWFkZXIge1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5ICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5maWxlX21lc3NhZ2VibG9ja19oZWFkZXJfbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWxlX21lc3NhZ2VibG9ja19maWxlaGVhZGVyX3RkIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIC5maWxlX21lc3NhZ2VibG9ja19maWxlaGVhZGVyIHtcbiAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuZmlsZV9tZXNzYWdlYmxvY2tfZmlsZWhlYWRlcl9sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICB9XG5cbiAgI3dvcmRwcmVzc19maWxlX3VwbG9hZF90ZXh0Ym94XzEgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICB0aGVhZCwgdGJvZHksIHRmb290IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAuZmlsZV90YWJsZV9jbGVhbi51c2VyLW1ldGEtZmllbGRzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGRpdi5maWxlX2Rpdl9jbGVhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuZmlsZV91c2VyZGF0YV9jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICAuZmlsZV91c2VyZGF0YV9sYWJlbCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWxlX3VzZXJkYXRhX2hpbnRfaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBkaXYuZmlsZV91c2VyZGF0YV9maWVsZHdyYXBwZXIsIGRpdi5maWxlX3VzZXJkYXRhX2ZpZWxkd3JhcHBlcl9yZXF1aXJlZCwgZGl2LmZpbGVfdXNlcmRhdGFfZmllbGR3cmFwcGVyX3JlcXVpcmVkX2VtcHR5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGxhYmVsLmZpbGVfbWVzc2FnZWJsb2NrX2ZpbGVoZWFkZXJfbGFiZWwsIGxhYmVsLmZpbGVfbWVzc2FnZWJsb2NrX2hlYWRlcl9sYWJlbCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogMC44cmVtO1xuICB9XG59XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG50YWJsZS51bnN0cmlwZWQge1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAmLmV2ZW4tcm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgICYub2RkLXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHIub2RkLXJvdyArIHRyLm9kZC1yb3csIHRyLmV2ZW4tcm93ICsgdHIuZXZlbi1yb3cge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG50YWJsZS5uby13cmFwLWhlYWRlciB7XG4gIHRoZWFkIHtcbiAgICB0aCwgdGQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cblxudGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1NVwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgJi5oaWRlLWZvci1jb2xsYXBzZSwgLmhpZGUtZm9yLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc2hvdy1mb3ItY29sbGFwc2UsIC5zaG93LWZvci1jb2xsYXBzZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGFyZW50IHRoOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG4gICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGlsZCB7XG4gICAgICAgICAgdGQuY2hpbGQge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW07XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmR0ci10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2RlYnVnbW9kZW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC41cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNzZWFyY2gtb3JkZXItYnV0dG9uIHtcbiAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBjb2xvcjogJGJsYWNrO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiA4cHg7XG4gIGhlaWdodDogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgLnNlYXJjaC10ZXJtcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgIG9yZGVyOiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG5cbiIsImZvb3Rlci5zaXRlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGNvbG9yOiAjNjY2NjY2O1xuXG4gIGg0IHtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24gMC4ycyBlYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuXG4gIC5mb290ZXItbG9nby1jb250YWluZXIge1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgbWF4LWhlaWdodDogN3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHdpZHRoOiAxNHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci1tZW51cy1jb250YWluZXIge1xuICAgIC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiLmJ1dHRvbjpob3ZlciwgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgLmJ1dHRvbjpmb2N1cywgLmZpbGVfZGl2X2NsZWFuLndmdV9jb250YWluZXIgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSB7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLDAsMCwwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gICYuZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxufVxuXG4ubWRjLWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC50aGVtZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWRlbnNlIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgaGVpZ2h0OiAzNXB4O1xufVxuXG4ubWRjLWJ1dHRvbiB7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gIH1cblxuICBzdmcge1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGZpbGw6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuXG4gICAgKiB7XG4gICAgICBmaWxsOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi1pY29uLXRyYWlsaW5nIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4ubWRjLWJ1dHRvbi0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAgOHB4IDAgOHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMS41cmVtO1xuXG4gIGkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWRhcmspO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdGV4dC1pbmRlbnQ6IDJweDtcbiAgfVxuXG4gIGkuYnV0dG9uLWljb24tc3RhbmRhbG9uZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgaS5idXR0b24tdGhlbWUtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgaS5idXR0b24tZGFyay10aGVtZS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6IHZhcigtLXRoZW1lLWRhcmspO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubWRjLWJ1dHRvbi0tZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1idXR0b24tLWV4dGVuZGVkIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICBzdmcge1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheSFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAwcHggMHB4ICRkYXJrLWdyYXkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJsYWNrIWltcG9ydGFudDtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZC5tZGMtYnV0dG9uLS10aGVtZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSkgIWltcG9ydGFudDtcblxuICBzdmcge1xuICAgIGZpbGw6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIH1cbn1cblxuLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLmJ1dHRvbiB7XG4gIEBleHRlbmQgLm1kYy1idXR0b24sIC5tZGMtYnV0dG9uLS1leHRlbmRlZDtcblxuICBwYWRkaW5nOiAwLjY1cmVtIDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1kYy13aGl0ZS1maWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggNXB4IDBweCAwcHggdmFyKC0tdGhlbWUtZGFyaykgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGhlbWUtZGFyayk7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGxpZ2h0LWdyYXksIDUlKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB9XG59XG5cbi5tZGMtd2hpdGUtaG9sbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMS4ycmVtO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1sYXJnZS10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjk1cmVtIWltcG9ydGFudDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZCB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgNTAlKSAhaW1wb3J0YW50OyBcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgLmdmb3JtX2Zvb3RlciB7XG4gICAgLm1kYy1idXR0b24tLXJhaXNlZCB7XG4gICAgICBtYXJnaW46IDIuNXJlbSAtMnJlbSAwIDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH0gXG59IFxuXG4uYnV0dG9uLmFjdGlvbnMtYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweCAxMnB4IWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiBhdXRvO1xufVxuXG4ubGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG4ud2MtYmFja3dhcmQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cbiIsIi5jYXJkcy1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgdHJ1ZSwgMC43cmVtICk7XG5cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZHVjdHMgLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgaDIge1xuICAgIGNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5kb3R0ZWQge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIHdpZHRoOiA0cmVtO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn0iLCIvLyBBcHBseSBvdXRsaW5lIHN0eWxlcyBvbmx5IHdoZW4gaW5wdXQgbWV0aG9kIGlzIGtleWJvYXJkXG4vLyByZW1vdmUgOmZvY3VzIHN0eWxlIHZpYSBXaGF0IElucHV0IHVzaW5nIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50XG4vLyBzbyA6Zm9jdXMgaXNuJ3QgbGVmdCBicm9rZW4gaWYgSmF2YVNjcmlwdCBmYWlsc1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXNcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIuYXdlc29tcGxldGUge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDVweCAwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIG1hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmZpZWxkc2V0IHtcbiAgZGlzcGxheTogZmxleDtcblxuICBpbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG4uZ2Zvcm1fZm9vdGVyIHtcbiAgYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9yaWdodC1hcnJvdy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMi43cmVtIDAuNzVyZW0gMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjU7XG4gIH1cbn1cblxuLmdpbnB1dF9jb250YWluZXIge1xuICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMC41cmVtIDA7XG5cbiAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogaW5saW5lIWltcG9ydGFudDtcbiAgfVxufVxuXG5pbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG5cbi5tZGMtdGV4dC1maWVsZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xLjI1cmVtO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmluc3RydWN0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuXG4gIGZvcm0ge1xuXG4gICAgLmdmb3JtLWJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAxcmVtIDJyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogMC43cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB3aWR0aDogMTByZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAxOCwgMTUwLCAwLjEpO1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMiwgMTgsIDE1MCwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIwLjU0JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5nZm9ybV90aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRkZW5fbGFiZWwgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZm9ybV9maWVsZHMge1xuICBtYXJnaW46IDA7XG59XG5cbmxpLmdmaWVsZCwgLmdmb3JtX2ZpZWxkcyA+IGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4ub29kLXdwLWZpbGUtcHJldmlld3Mge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAuNXJlbSAwO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSArIC5vb2Qtd3AtZmllbGQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICAudHdvLWNvbHVtbl93cmFwcGVyIHVsLm9uZS1oYWxmLCAgdWwub25lLXRoaXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLmdzZWN0aW9uIHtcbiAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiByZW1vdmUgIWltcG9ydGFudCBpZiBpdCdzIG5vdCBuZWVkZWQgKi9cbiAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNnZm9ybV93cmFwcGVyXzMgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgLmdmb3JtX3dyYXBwZXIudHdvLWNvbHVtbl93cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ2Zvcm1fd3JhcHBlci50d28tY29sdW1uX3dyYXBwZXIge1xuICAgIHVsLmdmb3JtX2ZpZWxkcywgdWwuZ2Zvcm1fY29sdW1uIGxpLmdzZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdWwuZ2Zvcm1fZmllbGRzLmdmb3JtX2NvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICB1bC5vbmUtaGFsZiB7XG4gICAgICBtYXJnaW4tbGVmdDogNCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICB1bC5vbmUtdGhpcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMzIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgdWwuZmlyc3Qge1xuICAgICAgJi5vbmUtaGFsZiwgJi5vbmUtdGhpcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNpbnB1dF8zXzIsXG4gICNpbnB1dF8zXzMsXG4gICNpbnB1dF8zXzQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZitsaS5nc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5nZm9ybV9ib2R5IHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5nZm9ybV9mb290ZXIge1xuICBjbGVhcjogYm90aDtcblxuICAuZ2Zvcm0tc3VibWl0LWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbjogMXJlbSAtMS42MjVyZW0gLTFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiAxcmVtIC0xLjkzNzVyZW0gLTFyZW07XG4gICAgfVxuICB9XG59XG5cbi5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJi5zaG9ydCwgJi5iYWQsICYubWlzbWF0Y2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgfVxuXG4gICYuZ29vZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgfVxuXG4gICYuc3Ryb25nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgfVxufVxuXG4ubWRjLXNlbGVjdCBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWNvbnRlbnQge1xuXG4gIC5mb3JtLXNlY3Rpb25zIHtcbiAgICBtYXJnaW46IDAgM3JlbSAwIDA7XG5cbiAgICBidXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDAuOXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMC40cmVtIDFyZW07XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDIuMnJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5jZWxsIHtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1zZWN0aW9uLW51bWJlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdLYXJsYScsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICAgIHdpZHRoOiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgLm1kYy1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1ncm91cCB7XG4gICAgcCB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC1sZXNzLXBhZGRpbmcteCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuYXJlYS1jb250YWluZXIge1xuICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLmZvcm0tcHJvZHVjdCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG5cbiAgLnByb2R1Y3QtbGluayB7XG5cbiAgICBpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwZWMnO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1mb3JtLWxheW91dCB7XG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgLmhvbWUge1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mb3JtLXNlY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tZGMtcmFkaW8ge1xuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG4ubWRjLXRleHQtZmllbGQsIC5tZGMtc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idXR0b24tcmFkaW8tZmllbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnV0dG9uLXJhZGlvLWZpZWxkICsgLmJ1dHRvbi1yYWRpby1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkbGlnaHQtZ3JheSwgMTAlKTtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW0haW1wb3J0YW50O1xuICBib3R0b206IDAhaW1wb3J0YW50O1xuICBsZWZ0OiAwIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDZweCAwIDZweDtcbn1cblxuLmJ1dHRvbi1yYWRpby1maWVsZDpub3QoOmNoZWNrZWQpICsgLmJ1dHRvbi1yYWRpby1sYWJlbCB7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGlnaHQtZ3JheSwgMTAlKTtcbiAgfVxufVxuXG4uYnV0dG9uLXJhZGlvLWZpZWxkOmNoZWNrZWQgKyAuYnV0dG9uLXJhZGlvLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ZXh0LWZpbGUtdXBsb2FkZXIge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogLTNyZW07XG4gIC50ZXh0LWZpbGUtcHJldmlld3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAudGV4dC1maWxlLXByZXZpZXcge1xuICAgICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICB9XG4gIH1cbn1cblxuLm1kYy1mb3JtLWZpZWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5mb3JtLWVycm9yIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IHtcbiAgcGFkZGluZzogN3B4O1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdG9wOiA3cHg7XG4gIGxlZnQ6IDdweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciwgLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMThweDtcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tcmVwZWF0ZXIub3JkZXItaXRlbS1qb2JzIHtcbiAgPiBsaSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG59XG5cbnVsLmZvcm0tcmVwZWF0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuXG4gICAgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBmaWxsOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgZmlsbDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tdGhlbWUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5vb2Qtd3AtZGVsZXRlLXJlcGVhdGVyLWl0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG5cbiAgLm9vZC13cC1kZWxldGUtY29udGVudDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGRhcmtlbigkaW5wdXQtZXJyb3ItY29sb3IsIDIwJSkgIWltcG9ydGFudDtcbiAgfVxufVxuLm9vZC13cC1kZWxldGUtY29udGVudHtcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG4gIH1cbn1cblxuLm1kYy1zZWFyY2gtc2VsZWN0IHtcbiAgJi5tZGMtc2VhcmNoLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgIC5kcm9wZG93bjpub3QoLmljb24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIC8vcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtc2VhcmNoLXNlbGVjdF9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSAtIDM5cHgpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDE2cHg7XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBsZWZ0OiA0OHB4O1xuICAgIH1cblxuICAgIC5zaXplciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMzVweCk7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gIH1cblxuICAuc2l6ZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuZHJvcGRvd246bm90KC5pY29uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE4MG1zIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMTJweCA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1pbi1oZWlnaHQ6IDU0cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC5zaXplciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi5pY29uIHtcbiAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5zZWFyY2gge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDkzN2VtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEycHggNnB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAwIDA7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjg3KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICY6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbnB1dC5zZWFyY2gge1xuICAgICAgICAvL3Bvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuZHJvd2Rvd24uaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzYyMDBlZSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IH4gLnRleHQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDA5MzdlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogMS43NSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjUpIDAgMTBweCAxNXB4IC01cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAuaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbHRlcmVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXRlbSwgLm1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDkzN2VtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tdWx0aXBsZSB7XG4gICAgICAubWVudSAuaXRlbS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLm11bHRpcGxlKSB7XG4gICAgICAubWVudSAuaXRlbS5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi51aTpub3QoLm1kYy1zZWFyY2gtc2VsZWN0X19pbnB1dCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODE1OSwgMTM5LCAxMzklMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG5cbiAgLmRyb3Bkb3duLmljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNSkgMCAxMHB4IDE1cHggLTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAuaXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcblxuICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi5maWx0ZXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbSwgLm1lc3NhZ2Uge1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAwOTM3ZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4ubWRjLXRleHQtZmllbGQgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKSAhaW1wb3J0YW50O1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgfiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG59XG5cbi5tZGMtc2VhcmNoLXNlbGVjdCB7XG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gIH1cbn1cblxuLm1kYy1zZWFyY2gtc2VsZWN0IHtcbiAgJjpub3QoLm51bGwtc2VsZWN0ZWQpIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24uYWN0aXZlIHtcbiAgICArIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICAgICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgfVxuICB9XG59XG5cbi5zaWJsaW5nLWZvcm0tZ3JvdXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICA+IGRpdiB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICB9XG5cbiAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tbXVsdGlsaW5lKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmZhY2V0d3AtYnRuIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciwgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ub29kLXdwLWZvcm0tZXJyb3Ige1xuICBAZXh0ZW5kIC5mb3JtLWVycm9yO1xufVxuXG4uZmFjZXR3cC1mYWNldCB7XG4gICYuZmFjZXR3cC10eXBlLWZzZWxlY3QgLmZzLWRyb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5mcy1vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuXG4gIC5mcy1vcHRpb25zIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cblxuICAuZnMtd3JhcC5tdWx0aXBsZSAuZnMtb3B0aW9uLnNlbGVjdGVkIC5mcy1jaGVja2JveCBpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB9XG59XG5cbi5yZXZlYWwtaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7XG4gICYucmV2ZWFsLWhlYWRlci1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNWI0YTtcbiAgfVxufVxuXG4ucmV2ZWFsLWhlYWRlci1pbnB1dC1sYWJlbCB7XG4gIC5yZXZlYWwtaGVhZGVyLWlucHV0LCAucmV2ZWFsLWhlYWRlci1pbnB1dC10ZW1wIHtcbiAgICBAZXh0ZW5kIC5oNDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDhyZW0pO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAucmV2ZWFsLWhlYWRlci1pbnB1dC1idXR0b24ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLnJldmVhbC1oZWFkZXItaW5wdXQge1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICArIC5yZXZlYWwtaGVhZGVyLWlucHV0LWJ1dHRvbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJldmVhbC1oZWFkZXItaW5wdXQtdGVtcCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZm9ybS1lcnJvciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJFUlJPUjogXCI7XG4gICAgfVxuICB9XG59XG5cbi5vb2Qtd3AtYWxlcnQtZXJyb3Ige1xuICBAZXh0ZW5kIC5oNTtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuLmRhdGVwaWNrZXIge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuXG4gIC5kYXRlcGlja2VyLS1uYXYtdGl0bGUsIC5kYXRlcGlja2VyLS1kYXktbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IEthcmxhLHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgfVxuXG4gIC5kYXRlcGlja2VyLS1kYXktbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWRhcmspO1xuICB9XG5cbiAgLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLSwgLmRhdGVwaWNrZXItLWNlbGwuLXNlbGVjdGVkLS4tY3VycmVudC0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmRhdGVwaWNrZXItLWNlbGwuLWN1cnJlbnQtIHtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtbGlnaHQpO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1leHRlbmRlZCwgLm1kYy13aGl0ZS1maWxsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTtcbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgMCB2YXIoLS10aGVtZS1kYXJrKSAhaW1wb3J0YW50O1xuICAgIHRvcDogM3B4O1xuICAgIC8vbWFyZ2luLWJvdHRvbTogY2FsYygxcmVtIC0gM3B4KTtcbiAgfVxufVxuXG4uZGlzYWJsZWQgbGFiZWwge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQhaW1wb3J0YW50O1xufVxuXG4uZGlzYWJsZWQgLm1kYy1jaGVja2JveCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW3JlYWRvbmx5XSB7XG4gICAgQGV4dGVuZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZDtcbiAgfVxufVxuXG4ub29kLXdwLWVycm9yLWZvcm0tZ3JvdXAge1xuICAubWRjLXRleHQtZmllbGQge1xuICAgIEBleHRlbmQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkO1xuICB9XG5cbiAgLnRoZW1lLWljb24ge1xuICAgIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogJGlucHV0LWVycm9yLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ub29kLXdwLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9vZC13cC1maWxlLXByZXZpZXcge1xuICBmaWd1cmUub29kLXdwLWxvYWRlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTZyZW07XG4gICAgaGVpZ2h0OiAxMnJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIC8vIGJveC1zaGFkb3c6IGluc2V0IDAgLTEwcmVtIDFyZW0gcmdiYSgwLDAsMCwwLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnJlbSAxcmVtIHJnYmEoMCwwLDAsMC40KTtcbiAgICB9XG5cbiAgICBpbWcsIG9iamVjdCB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwLjI1cmVtO1xuICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC10ZW1wbGF0ZS1yZXZlYWwge1xuICB0b3A6IDEwMHB4IWltcG9ydGFudDtcbiAgLm9vZC1sb2FkLWZvcm0tLWxvYWRpbmctY29udGFpbmVyLCAub29kLWxvYWQtZm9ybS0tZXJyb3ItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG59XG5cbmhlYWRlciB7XG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1heC13aWR0aDogNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwLjJzIGVhc2U7XG4gICAgfSAgXG4gIH1cbn1cblxuXG4gIFxuLndvb2NvbW1lcmNlIHtcblxuICAuY2FydC1jb250YWluZXIge1xuICAgIC5jYXJ0IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2FydC1yb3cge1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAuZmllbGQtZ3JvdXAge1xuICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICAgICAgfVxuICAgICAgICAgIGhpZ2hsaWdodCB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC1ncm91cC1oZWFkaW5nIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyYXktdG9nZ2xlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAwIDAgMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE0cmVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuXG4gICAgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdXBkYXRlLWNhcnQtYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMXJlbSAwIDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jaGVja291dC1idXR0b25zIHtcbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY2FydC1zdWJ0b3RhbCB7XG4gICAgdGQge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICB9XG5cbiAgLmNhcnQtc2hpcHBpbmctZm9ybSB7XG4gICAgcGFkZGluZzogMnJlbSAycmVtIDAgMDtcbiAgfVxuXG4gIC5jaGVja291dC1mb3JtIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZm9ybS1zZWN0aW9uLWhlYWRlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH0gXG5cbiAgLm9yZGVyLXRvdGFsIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICB9XG4gICAgfSAgIFxuICB9XG5cbiAgLnNoaXBwaW5nIHtcbiAgICB0ZCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgIH1cbiAgICB9ICAgXG4gIH1cblxuICAudGF4LXJhdGUge1xuICAgIHRkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRoIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonO1xuICAgICAgfVxuICAgIH0gICAgXG4gIH1cblxuICAud2MtY3JlZGl0LWNhcmQtZm9ybSB7XG5cbiAgICAuZm9ybS1yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgIC5mb3JtLXJvdy1maXJzdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXJvdy1sYXN0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXJvdy13aWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHdpZHRoOiA1MHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLnZlcnRpY2FsLXJ1bGUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICBtYXJnaW46IDAgLTJyZW0gMCAycmVtO1xuXG4gIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG59XG5cbi52ZXJ0aWNhbC1ydWxlLS1hbHQge1xuICBtYXJnaW46IDAgLTJyZW0gMCAycmVtO1xuXG4gIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9ICAgIFxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gIGZvcm0ge1xuICBcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAycmVtIC0ycmVtIDAgMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5nZmllbGQtLXdpZHRoLXRoaXJkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDYuNyU7XG4gICAgICB9XG5cbiAgICAgIC5nZmllbGQtLXdpZHRoLXR3by10aGlyZHMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5NyU7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDhyZW07XG4gICAgICB9XG5cbiAgICAgIC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICBmb3JtIHtcbiAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgIC5nZmllbGQtLXdpZHRoLXRoaXJkIHtcbiAgICAgICAgd2lkdGg6IDMwLjYlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGQtLXdpZHRoLXR3by10aGlyZHMge1xuICAgICAgd2lkdGg6IDYzLjklICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuIiwiLmxpc3QtbWVudSB7XG4gIHVsLm1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZGMtbWVudSB7XG4gIC5tZGMtbGlzdCB7XG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMnB4KTtcbiAgICAgICAgbWFyZ2luOiAwIC0xNnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIHdpZHRoOiAxOHB4O1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUge1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbn1cbiIsIi50aGVtZS1pY29uIHtcbiAgaGVpZ2h0OiAxLjZyZW07XG4gIHdpZHRoOiAxLjZyZW07XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAqIHtcbiAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbltkaXNhYmxlZF0sIFtyZWFkb25seV0ge1xuICB+IC50aGVtZS1pY29uIHtcbiAgICBzdmcge1xuICAgICAgZmlsbDogJGdyYXk7XG4gICAgfVxuICB9XG59XG5cbi5mYS1idXR0b24taWNvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbiIsIiNwYWdlTG9hZFByb2dyZXNzQmFyIHtcbiAgcG9zaXRpb246IGZpeGVkIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBoZWlnaHQ6IDVweDtcbiAgYm94LXNoYWRvdzogMCAwcHggMTBweCAycHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbiAgLm1kYy1saW5lYXItcHJvZ3Jlc3NfX2J1ZmZlcmluZy1kb3RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgfVxuXG4gIC5tZGMtbGluZWFyLXByb2dyZXNzX19iYXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSwgIzYyMDBlZSk7XG4gIH1cbn1cblxuLmFkbWluLWJhciAjcGFnZUxvYWRQcm9ncmVzc0JhciB7XG4gIHRvcDogMnJlbTtcbn1cbiIsIi5hY2NvcmRpb24taXRlbSB7XG5cdG1hcmdpbjogMXJlbSAwO1xuXG5cdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2UzZTNlMztcblx0fVxuXG5cdC5hY2NvcmRpb24tdGl0bGUge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRjb2xvcjogIzY2NjY2Njtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHR9XG5cblx0LmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0Y29udGVudDogJ1xcZjEwNyc7XG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xuXHR9XG59XG5cbi5pcy1hY3RpdmUge1xuXHQuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICdcXGYxMDYnO1xuXHRcdHRyYW5zaXRpb246IGNvbnRlbnQgMC4ycyBlYXNlO1xuXHR9XG59XG5cbi5ibHVlIHtcblx0LmZlYXR1cmVkLWNvbnRlbnQtaW1hZ2Uge1xuXHRcdG9wYWNpdHk6IDMwJTtcblx0fVxufVxuXG4uZmVhdHVyZWQtY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogMjJyZW07XG5cdG92ZXJmbG93OiBoaWRkZW47IFxuXG5cdC5mZWF0dXJlZC1jb250ZW50LWltYWdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXHRyaWdodDogMDtcbiAgICBcdGJvdHRvbTogMDtcblx0fVxufVxuXG4uZmVhdHVyZWQtcHJvZHVjdHMtaW50cm8ge1xuICAgcGFkZGluZzogMCAycmVtO1xuXG5cdGEge1xuXHRcdGNvbG9yOiAjMDAwMDAwO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgXHRwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBcdGhlaWdodDogMi41cmVtO1xuXG4gICAgXHQmOmhvdmVyIHtcbiAgICBcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKTtcbiAgICBcdH1cblx0fVxuXG5cdGE6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnXFxmMDYxJztcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG4gICAgXHRwYWRkaW5nLWxlZnQ6IDAuNnJlbTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdGhlaWdodDogOHJlbTtcblxuXHRcdGgyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHQgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cbn1cblxuLm1lZGlhLWxheW91dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogMzRyZW07XG5cblx0Lm1lZGlhLW9iamVjdC1pbWFnZSB7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXHRyaWdodDogMDtcbiAgICBcdGJvdHRvbTogMDtcblxuICAgIFx0aW1nIHtcbiAgICBcdFx0ZmxvYXQ6IHJpZ2h0O1xuICAgIFx0XHRoZWlnaHQ6IDEwcmVtO1xuXG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBcdFx0XHRtYXJnaW4tcmlnaHQ6IC0zcmVtO1xuICAgIFx0XHRcdGhlaWdodDogMjhyZW07XG4gICAgXHRcdH1cbiAgICBcdH1cblx0fVxufVxuXG4ubWVkaWEtbGF5b3V0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5tZWRpYS1vYmplY3Qge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdGgzIHtcblx0XHRcdGNvbG9yOiAjMDAwMDAwO1xuXHRcdH1cbiAgXHRcdFxuICAgIFx0aW1nIHtcbiAgICBcdFx0bWF4LWhlaWdodDogMzByZW07XG4gIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdFx0Ym90dG9tOiAwO1xuICAgIFx0XHRyaWdodDogMDtcblxuICAgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgXHRcdFx0aGVpZ2h0OiAxNXJlbTtcbiAgICBcdFx0XHR3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBcdFx0fVxuICBcdFx0fVxuXHR9XG59XG5cbi5wcm9kdWN0LWJhY2tncm91bmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHRib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGhlaWdodDogMTAwJTtcblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAxLjdyZW07XG5cdFx0Y29sb3I6ICM2NjY2NjY7XG5cdH1cblxuXHRociB7XG5cdFx0bWFyZ2luOiAxLjVyZW0gYXV0bztcblx0fVxuXG5cdHAge1xuXHRcdGNvbG9yOiAjNjY2NjY2O1xuXHR9XG59IiwiLnJldmVhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblxuICAgIGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAucmV2ZWFsLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDAgMTBweCAwIHJnYmEoYmxhY2ssIDAuOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS42NXJlbTtcbiAgICByaWdodDogMnJlbTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0wLjRyZW0gLTEuNXJlbSAwIDAgIWltcG9ydGFudDtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4yNXMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgKiB7XG4gICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAyMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZXZlYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gMCAycmVtO1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNXJlbSk7XG4gICAgfVxuICB9XG5cbiAgLnJldmVhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbSAxOXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NpdHktbm8tcGxhbmUucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgbWF4LWhlaWdodDogMjByZW07XG4gICAgICBtaW4taGVpZ2h0OiAxNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jYW5jZWwtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIvLyBQYWdlIGhlYWRlclxuLmZyb250LWhlcm8ge1xuICAubWFya2V0aW5nIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcig1NXJlbSk7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjUlKSAwO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnJykgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY4NSk7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNzIpO1xuICB9XG5cbiAgLndhdGNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI3N0YXJnYXplcnMge1xuICAgICAgOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2l0dGVyIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50YWdsaW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIEludHJvXG4uaW50cm8ge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuZnAtaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwKTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgaHIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIEBleHRlbmQgLmRvdHRlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIEJlbmVmaXRzXG4uYmVuZWZpdHMge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG5cbiAgLnNlbWFudGljLFxuICAucmVzcG9uc2l2ZSxcbiAgLmN1c3RvbWl6YWJsZSxcbiAgLnByb2Zlc3Npb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLndoeS1mb3VuZGF0aW9uIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59XG4iLCIucHJvb2ZzLXRhYmxlIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5cbi5zaW5nbGUtcHJvb2ZzIHtcbiAgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgLmRvd25sb2FkLXBkZiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA3cHggMCAjOTI5MjkyO1xuXG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICYuc3RhdHVzLXByb29mLWFwcHJvdmVkLCAmLnN0YXR1cy1wcm9vZi1ub3QtYXBwcm92ZWQgIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RhdHVzLXByb29mLWFwcHJvdmVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHN1Y2Nlc3MtY29sb3IsIDEwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0YXR1cy1wcm9vZi1ub3QtYXBwcm92ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHdhcm5pbmctY29sb3IsIDUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbW1lbnRzLWZvcm0ge1xuICAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5mb3JtLXJlcGVhdGVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZm9ybS1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNvbW1lbnRzLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgJiA+IC5mb3JtLWdyb3VwID4gbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnZlcnNpb24tZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAub29kLXdwLWZpbGUtcHJldmlldyB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCVcbiAgICB9XG4gIH1cblxuICAub29kLXdwLWRlbGV0ZS1yZXBlYXRlci1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5mb3JtLXJlcGVhdGVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZm9ybS1yZXBlYXRlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm9vZC13cC1hZGQtcmVwZWF0ZXItaXRlbSB7XG4gICAgQGV4dGVuZCAubWRjLWJ1dHRvbiwgLm1kYy1idXR0b24tLW91dGxpbmVkO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnByb29mcy1wcm9vZi12ZXJzaW9ucy1yZXBlYXRlciwgW2RhdGEtZmllbGQtY2xhc3M9XCJwcm9vZnMtcHJvb2YtdmVyc2lvbnMtcmVwZWF0ZXJcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgLm9vZC13cC1kZWxldGUtcmVwZWF0ZXItaXRlbSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAuZm9ybS1yZXBlYXRlci1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgIH1cbiAgfVxuXG4gICYgPiAuZm9ybS1ncm91cCA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wcm9vZnMtc3RhdHVzIHtcbiAgLm1kYy1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1idXR0b24ge1xuICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWRjLWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJHdhcm5pbmctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi1yYWRpby1maWVsZDpjaGVja2VkICsgLmJ1dHRvbi1yYWRpby1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzdWNjZXNzLWNvbG9yLCAxMCUpO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tcmFkaW8tZmllbGQ6Y2hlY2tlZCArIC5idXR0b24tcmFkaW8tbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkd2FybmluZy1jb2xvciwgNSUpO1xuICB9XG59XG5cbiNSZWplY3Rpb25Db21tZW50cyB7XG4gICNzdWJtaXRSZWplY3Rpb25Db21tZW50cyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuXG4iLCIucGFnZS10ZW1wbGF0ZS1mb3JtLCAucGFnZS10ZW1wbGF0ZS1jcmVhdGUtYWNjb3VudCB7XG4gIC5tYWluLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICB9XG5cbiAgLnR3by1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtcGFkZGluZztcbiAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDdweCAwICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2dpbi1pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubG9naW4tZGl2aWRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cbiAgLmxvZ2luLWRpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiNzZWxlY3RDdXJyZW50Q29tcGFueSB7XG4gIC5tZGMtbGlzdCB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm1kYy1saXN0LWl0ZW0gfiAubWRjLWxpc3QtaXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgICB9XG4gIH1cbn0iLCJbZGF0YS10b29sdGlwXSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRvb2x0aXAge1xuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4ub29kLXdwLWZpbGUtcHJldmlld3MgfiAub29kLXdwLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub29kLXdwLWZpbGUtcHJldmlld3M6ZW1wdHkgfiAub29kLXdwLWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmpvYnMtdGFibGUge1xuXG4gIC5qb2ItZGVzY3JpcHRpb24tY29sdW1uIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI3BsYWNpbmdPcmRlciB7XG4gIC5yZXN1Ym1pdC1vcmRlcltkaXNhYmxlZF0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggMCAwIHZhcigtLXRoZW1lLWRhcmspICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnN1Ym1pdHRpbmctbWVzc2FnZXMge1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgfVxuICAuZGF0ZS1lcnJvcnMge1xuICAgIC5kYXRlLWVycm9yIHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaS5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSB7XG4gICAgICAgIGNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgaS5mYS1jaGVjay1jaXJjbGUge1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGkuZmEtY2hlY2stY2lyY2xlLCBpLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgfVxuXG4gICAgICAubW9kaWZ5LWRlbGl2ZXJ5LCAuYXBwcm92ZS1wcmlvcml0eSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgICAgICB3aWR0aDogMC45cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJiA+IC5jZWxsLnNocmluayB7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgICAgfVxuXG4gICAgICAubW9kaWZ5LWRlbGl2ZXJ5LWZvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICAuY29weS1zdWdnZXN0ZWQtZGF0ZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjRyZW07XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2FkaW5nLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLmxvYWRpbmcpIC5sb2FkaW5nLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlLWVycm9yIH4gLmRhdGUtZXJyb3Ige1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cbn1cblxuLmRhdGVwaWNrZXJzLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDIwMDA7XG59XG5cbi5maWx0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgfVxuXG4gIHNlbGVjdCwgLmZzLXdyYXAsIC5kcm9wZG93bi51aSB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgLjc1cmVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvdy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZzLWxhYmVsLXdyYXAge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5mcy1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5mcy1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmFjZXR3cC1mYWNldCAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZmFjZXR3cC10eXBlLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZhY2V0d3Atc2VhcmNoLXdyYXAubWRjLXRleHQtZmllbGQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmF3ZXNvbXBsZXRlIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1heC13aWR0aDogMTJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMy41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXgtd2lkdGg6IDEzcmVtO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24udWkgLm1lbnUsIC5kcm9wZG93bi5tZGMtc2VhcmNoLXNlbGVjdF9faW5wdXQgLm1lbnUge1xuICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4uYWRkcmVzcy1pdGVtIHtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbn1cblxuLnJlc2V0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnByb2R1Y3QtZmlsdGVycy1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLm9yZGVyLWZyb20tdGVtcGxhdGUge1xuICBtaW4td2lkdGg6IDM1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIH1cbn1cblxuLnRlbXBsYXRlcy10YWIge1xuICAucHJvZHVjdC1maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLnRlbXBsYXRlcyB7XG4gIC50ZW1wbGF0ZSB7XG4gICAgLnRlbXBsYXRlLWRldGFpbHMge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90ZW1wbGF0ZXMtYmFja2dyb3VuZC1pbWFnZS5qcGcpO1xuICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAubWF0ZXJpYWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlbXBsYXRlLW5hbWUge1xuICAgICAgICAgIEBleHRlbmQgLmg1O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlbXBsYXRlLW5hbWUsIC50ZW1wbGF0ZS1wcm9kdWN0LXRpdGxlLCAubWF0ZXJpYWwge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZmFjZXR3cC1wYWdlciB7XG4gIG1hcmdpbjogMXJlbSAwO1xufVxuXG4ucHJvZHVjdHMge1xuICAucHJvZHVjdCB7XG4gICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgICBoZWlnaHQ6IDE4cmVtO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgICYuYWN0aXZlIC5wcm9kdWN0LWJhY2tncm91bmQge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgbWFyZ2luOiAxLjVyZW0gYXV0bztcbiAgICB9XG5cbiAgICAucHJvZHVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgIFxuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtbWVkaXVtKSB2YXIoLS1iYWNrZ3JvdW5kLXByb2R1Y3QtaW1hZ2UpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjMpO1xuXG4gICAgICBwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogNTtcbiAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBvbiAqL1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmZ1bGwtaGVpZ2h0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuY2VsbCB+IC5jZWxsLnByb2R1Y3QtZXhjZXJwdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIHAubWF0ZXJpYWwge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgfVxuXG4gICAgICBoMiwgcC5tYXRlcmlhbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgYS50b2dnbGUtcHJvZHVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHRvcDogMC43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBpZD0nTGF5ZXJfMScgZGF0YS1uYW1lPSdMYXllciAxJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOC45IDE4LjknJTNFJTNDZGVmcyUzRSUzQ3N0eWxlJTNFLmNscy0xJTdCZmlsbDolMjNmZmY7JTdEJTNDL3N0eWxlJTNFJTNDL2RlZnMlM0UlM0N0aXRsZSUzRWluZm8lM0MvdGl0bGUlM0UlM0NwYXRoIGNsYXNzPSdjbHMtMScgZD0nTTMwNS40NSwzODdhOS40NSw5LjQ1LDAsMSwwLDkuNDUsOS40NSw5LjQ1LDkuNDUsMCwwLDAtOS40NS05LjQ1Wm0yLDE0LjY1LTEuMTcuNDRhMywzLDAsMCwxLTEsLjE1LDIsMiwwLDAsMS0xLjM4LS40NCwxLjM3LDEuMzcsMCwwLDEtLjQ5LTEuMDksMy4yMywzLjIzLDAsMCwxLDAtLjUzLDYsNiwwLDAsMSwuMTEtLjZsLjYxLTIuMTVhNS41LDUuNSwwLDAsMCwuMTQtLjU5LDIuMzQsMi4zNCwwLDAsMCwuMDYtLjUuNzYuNzYsMCwwLDAtLjE4LS41OC45MS45MSwwLDAsMC0uNjQtLjE2LDEuNzEsMS43MSwwLDAsMC0uNDkuMDdsLS40Mi4xNC4xNi0uNjZjLjQtLjE2Ljc4LS4zLDEuMTQtLjQxYTMuMzUsMy4zNSwwLDAsMSwxLS4xOCwxLjk0LDEuOTQsMCwwLDEsMS4zNS40MywxLjQxLDEuNDEsMCwwLDEsLjQ3LDEuMWMwLC4wOSwwLC4yNSwwLC40OWEzLjEzLDMuMTMsMCwwLDEtLjEyLjY1bC0uNiwyLjE0YTQsNCwwLDAsMC0uMTQuNTksMy4wOSwzLjA5LDAsMCwwLS4wNi41LjczLjczLDAsMCwwLC4xOS41OCwxLDEsMCwwLDAsLjY3LjE2LDIuMDUsMi4wNSwwLDAsMCwuNS0uMDhsLjQtLjEzWm0tLjExLTguN2ExLjUzLDEuNTMsMCwwLDEtMiwwLDEuMjksMS4yOSwwLDAsMSwwLTEuOTIsMS41MywxLjUzLDAsMCwxLDIsMCwxLjMxLDEuMzEsMCwwLDEsMCwxLjkyWm0wLDAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yOTYgLTM4NyknLyUzRSUzQy9zdmclM0VcIik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jbG9zZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgaWQ9J0xheWVyXzEnIGRhdGEtbmFtZT0nTGF5ZXIgMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgdmlld0JveD0nMCAwIDQxLjU4IDQxLjU4JyUzRSUzQ2RlZnMlM0UlM0NzdHlsZSUzRS5jbHMtMSU3QmZpbGw6bm9uZTslN0QuY2xzLTIlN0JjbGlwLXBhdGg6dXJsKCUyM2NsaXAtcGF0aCk7JTdELmNscy0zJTdCZmlsbDolMjNmZmY7JTdEJTNDL3N0eWxlJTNFJTNDY2xpcFBhdGggaWQ9J2NsaXAtcGF0aCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTI4NSAtMzc1LjQyKSclM0UlM0NyZWN0IGNsYXNzPSdjbHMtMScgeD0nMjg1JyB5PSczNzUnIHdpZHRoPSc0MicgaGVpZ2h0PSc0Mi45NicvJTNFJTNDL2NsaXBQYXRoJTNFJTNDL2RlZnMlM0UlM0N0aXRsZSUzRWNsb3NlJTNDL3RpdGxlJTNFJTNDZyBjbGFzcz0nY2xzLTInJTNFJTNDcGF0aCBjbGFzcz0nY2xzLTMnIGQ9J00zMjAuNSwzODEuNWEyMC44LDIwLjgsMCwxLDAsMCwyOS40MiwyMC44MywyMC44MywwLDAsMCwwLTI5LjQyWk0zMTQsNDA0LjQxYTEuNTksMS41OSwwLDAsMS0yLjI2LDBsLTUuOTQtNS45NC02LjIyLDYuMjJhMS42LDEuNiwwLDAsMS0yLjI3LTIuMjZsNi4yMy02LjIyLTUuOTQtNS45NGExLjYsMS42LDAsMCwxLDIuMjYtMi4yNmw1Ljk0LDUuOTQsNS42Ni01LjY2YTEuNjEsMS42MSwwLDAsMSwyLjI2LDAsMS41OSwxLjU5LDAsMCwxLDAsMi4yNmwtNS42Niw1LjY2LDUuOTQsNS45NGExLjU5LDEuNTksMCwwLDEsMCwyLjI2Wm0wLDAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yODUgLTM3NS40MiknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDEuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uZGltZW5zaW9ucyB7XG4gIGR0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmRpbWVuc2lvbnMtdG90YWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgcGFkZGluZzogMC42cmVtO1xuICAgIG1hcmdpbjogMC4yNXJlbSAtMC4xcmVtIDA7XG5cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi53Yy1ibG9jay1ncmlkX19wcm9kdWN0IHtcbiAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAxcmVtO1xuXG4gIC53Yy1ibG9jay1ncmlkX19wcm9kdWN0LXRpdGxlIHtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG5cbi53b29jb21tZXJjZS1jYXJ0LCAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQge1xuICAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gIH1cblxuICAucGxhY2Utb3JkZXItZm9ybTpub3QoLnBheW1lbnQtZW5hYmxlZCkge1xuICAgIG1hcmdpbjogLTFyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMS41cmVtIDEuMnJlbTtcblxuICAgIC5tZGMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VjdGlvbnMtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgICBtYXJnaW46IDFyZW0gLTFyZW07XG5cbiAgICBoMiwgaDMsIGg0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGgyLCBoMywgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VycmVudC1zaGlwcGluZy10eXBlIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5yZW1vdmUge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICBmaWxsOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnMgZWFzZTtcblxuICAgICAgKiB7XG4gICAgICAgIGZpbGw6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHN2ZyB7XG4gICAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIH1cbiAgfVxuXG4gIC5leHBlZGl0ZWQtc2hpcHBpbmcge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgaW1nLCBzdmcge1xuICAgICAgZmlsbDogdmFyKC0tdGhlbWUtZGFyayk7XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuY2FydC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgLmNlbGwge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuY2FydC1yb3cge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgIC5jZWxsIHtcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5hcnQtZmlsZS1saW5rIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5tZGMtYnV0dG9uLCAuam9iLWRldGFpbHMtc2VjdGlvbiwgLmRpbWVuc2lvbnMtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXJ0LCAuY2hlY2tvdXQtZm9ybS5zaGlwcGluZywgLmNvbmZpcm1hdGlvbi1jb250YWluZXIgPiBzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC5mb3JtLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJ0LWNvbnRhaW5lciB7XG4gICAgLS10aGVtZS1tZWRpdW06IHZhcigtLXRoZW1lLWxpZ2h0KTtcbiAgICAtLXRoZW1lLWRhcms6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG5cbiAgICAmID4gLmZvcm0tc2VjdGlvbnMtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kZ2xvYmFsLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWJ1dHRvbnMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgIC5tZGMtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJldmlldy1zaGlwcGluZy1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgIC5tZGMtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMC4zcmVtIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNoaXAtbW9kYWwtZm9ybSB7XG4gICAgLnNhdmUtc2hpcG1lbnQtYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMS44cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB9XG4gIH1cblxuICAub3Blbi1zcGxpdC1zaGlwbWVudCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUge1xuICAgIHRoLCB0ZCB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLW1ldGhvZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgIC5zaGlwcGluZ19tZXRob2Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGZvb3Qge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLndjX3BheW1lbnRfbWV0aG9kcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gICN3Yy1hdXRobmV0LWNjLWZvcm0ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gLTAuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLndjLWNhcmQtbnVtYmVyLWZpZWxkIHtcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cblxuICAud2MtY2FyZC1leHBpcnktZmllbGQge1xuICAgIG1hcmdpbjogMC41cmVtO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG5cbiAgLndjLWNhcmQtY29kZS1maWVsZCB7XG4gICAgbWFyZ2luOiAwLjVyZW07XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cblxufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAge1xuICAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLm1kYy1idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBwYWRkaW5nOiAwLjY1cmVtIDAuNzVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSAubWRjLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC5vb2QtdXNlcnMtYWRkcmVzc2VzLS1mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLmFyZWEtY29udGFpbmVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuLnNxdWFyZS1mZWV0LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnNxdWFyZS1mZWV0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xuICBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGhlbWUtbWVkaXVtKTtcbiAgfVxuXG4gIC53b29jb21tZXJjZS10YWJsZS0tb3JkZXItZGV0YWlscyB7XG4gICAgLmpvYi1udW1iZXIsIC5pdGVtLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgfVxuICB9XG59XG5cbi5pbmZvLXRvb2x0aXAge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG5cbiAgaW1nLCBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxufVxuXG4ucmVmcmVzaC10b29sdGlwLCAuZGVsZXRlLWpvYiB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuXG4gIGltZywgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxufVxuXG4ub3JkZXItaXRlbS5sb2FkaW5nIC5yZWZyZXNoLXRvb2x0aXAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBpbWcsIHN2ZyB7XG4gICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuICAgIGFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbn1cblxuLnRyYWNraW5nLW51bWJlci1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG5cbiAgaSB7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICB9XG59XG5cbi53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHtcbiAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLW1lZGl1bSk7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXNoaXBwaW5nLWFkZHJlc3NlcyB7XG4gIC5ncmlkLXgge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB9XG5cbiAgLm9yZGVyLXNoaXBwaW5nLWhlYWRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1tZWRpdW0pO1xuICB9XG59XG5cbi5zaGlwbWVudHMge1xuICAuc2hpcG1lbnQge1xuICAgIC5yZW1vdmUtc2hpcG1lbnQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbWFuYWdlU2hpcHBpbmcsIC5zcGxpdFNoaXBtZW50TW9kYWwge1xuICAuc2hpcG1lbnQtYnV0dG9ucyB7XG4gICAgLmFkZC1zaGlwbWVudCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY29uZmlybS1zaGlwbWVudHMge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cblxuICAuc2F2ZS1zaGlwbWVudC1idXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi53b29jb21tZXJjZS1lcnJvciB7XG4gIC53b29jb21tZXJjZS1lcnJvci1tZXNzYWdlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10aGVtZS1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbmZvcm0ge1xuICAmLnBheW1lbnQge1xuICAgICYuY2hlY2tvdXQtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDdweCAwICM5MjkyOTI7XG4gICAgfVxuICB9XG59XG5cbi53Y19wYXltZW50X21ldGhvZHMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgW2Zvcj1cInBheW1lbnRfbWV0aG9kX3RyYW5zYXhcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5jYXJ0LXNoaXBwaW5nLWZvcm0ge1xuICBwYWRkaW5nOiAycmVtO1xuXG4gIGgzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuXG4gICAgbGFiZWwge1xuICAgICAgcGFkZGluZzogLjJyZW0gMXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuXG4gICAgICBhYmJyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1wYXNzd29yZC1pbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAyMyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcnQtc2hpcHBpbmctZm9ybSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuIFxuICAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDBjJztcbiAgICAgIGZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWVcXCA1IFBybztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkbWVkaXVtLWdyYXk7XG4gICAgICBib3JkZXI6IDAuMnB4IHNvbGlkICRibGFjaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAxMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICB0ZXh0LWluZGVudDogLTAuMDc1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlO1xuICAgIH1cbiAgfVxuIFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06aG92ZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDUwJSk7XG4gICAgfVxuICB9XG4gXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5jcmVhdGUtYWNjb3VudCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gXG4gICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZVxcIDUgUHJvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRtZWRpdW0tZ3JheTtcbiAgICAgIGJvcmRlcjogMC4ycHggc29saWQgJGJsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IDEwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgIHRleHQtaW5kZW50OiAtMC4wNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2U7XG4gICAgfVxuICB9XG4gXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpob3ZlciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgNTAlKTtcbiAgICB9XG4gIH1cbiBcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnNoaXBwaW5nX2FkZHJlc3Mge1xuICBkaXNwbGF5OiBjb250ZW50cyAhaW1wb3J0YW50O1xufVxuXG4jc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZS1hZGRyZXNzLWZpZWxkcyB7XG5cbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ndGVsJ10sIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cblxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG5cbiAgICBiIHtcbiAgICAgIG1hcmdpbjogMC41cmVtIDAgMC41cmVtIC0xcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtdGVtcGxhdGUtbWlzc2luZy1qb2JzIHtcbiAgLmVwbXMtdGVtcGxhdGUtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgLmRyb3Bkb3duIGlucHV0fi50ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZXBtcy1qb2ItbnVtYmVyLWZpZWxkLXdyYXBwZXIge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuXG4gIC5vcmRlci1pdGVtLmxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4iLCIucHJvZHVjdC1wb3N0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cblx0LnByb2R1Y3QtY29udGVudC1jb250YWluZXIge1xuXHRcdG1hcmdpbjogM3JlbSAycmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDJyZW07XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0d2lkdGg6IDQwJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRcdHdpZHRoOiA3MCU7XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0bWF4LWhlaWdodDogMjByZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdGNsaXAtcGF0aDogcG9seWdvbig0MCUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTEwcmVtO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59IiwiLmFjdGlvbnMtbmF2IHtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdG1hcmdpbi1sZWZ0OiAycmVtO1xuXHR9XG5cblx0YSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQuYWN0aW9ucy1uYXYtbGlua3Mge1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRidXR0b24ge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cbn1cblxuLmZhY2V0d3AtdGVtcGxhdGUge1xuXG5cdHRib2R5IHtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuXG5cdFx0LmV2ZW4ge1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgLTNweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHR9XG5cdH1cblxuXHR0aGVhZCB7XG5cblx0XHR0ciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjNjY2NjY2O1xuXG5cdFx0XHR0aCB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHRyIHtcblx0XHRoZWlnaHQ6IDNyZW07XG5cdH1cbn1cblxuLmpvYnMtZmlsdGVycy1jb250YWluZXIge1xuXHRoMyB7XG5cdFx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0bWFyZ2luOiAxcmVtIDAgMC41cmVtIDFyZW07XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5vb2QtZWRpdC11c2VyLWZvcm0ge1xuXHRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAxOCwgMTUwLCAwLjEpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5vb2QtbmV3LXVzZXItZm9ybSB7XG5cdGgyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5wcm9vZi1maWx0ZXJzIHtcblx0cGFkZGluZzogMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXHR9XG5cblx0YnV0dG9uIHtcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBcdGJveC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgXHR3aWR0aDogMTJyZW0gIWltcG9ydGFudDtcbiAgICBcdGhlaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIFx0Y29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG4gICAgXHRmb250LXNpemU6IDFyZW07XG4gICAgXHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgXHRmb250LWZhbWlseTogJ0thcmxhJztcbiAgICBcdHBhZGRpbmc6IDAuNzVyZW0gNS41cmVtIDAuNzVyZW0gMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIFx0bGluZS1oZWlnaHQ6IDEuNTtcbiAgICBcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3VuZG8tYXJyb3cucG5nJyk7XG4gICAgXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbiAgICBcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgXHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgIFxuICAgXHRcdCY6aG92ZXIge1xuICAgIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xuICAgIFx0fVxuXG4gICBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBcdH1cblx0fVxuXG5cdC5mYWNldHdwLXR5cGUtZHJvcGRvd24ge1xuXG5cdFx0LnNlbGVjdGlvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG5cdFx0XHRib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRcdFx0aGVpZ2h0OiAzcmVtO1xuXHRcdFx0d2lkdGg6IDEycmVtO1xuXHRcdFx0Y29sb3I6ICMwMDAwMDA7XG5cdFx0fVxuXHR9XG5cblx0LmZpbHRlciB7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRtYXJnaW46IDAuNXJlbSAwO1xuXHRcdH1cblx0fVxuXG5cdC5mcy13cmFwIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRcdGhlaWdodDogM3JlbTtcblx0XHR3aWR0aDogMTJyZW07XG5cdH1cblxuXHRpIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblx0fVxufVxuXG4ucmVzcG9uc2l2ZS10YWJsZSB7XG5cdGEge1xuXHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdC5zb3J0aW5nX2Rpc2FibGVkIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cbn1cblxuLnZlcnNpb24tZm9ybSB7XG5cdGJ1dHRvbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLndvb2NvbW1lcmNlLWFjY291bnQge1xuXHRoMyB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6ICM2NjY2NjY7XG5cdH1cblxuXHQucHJvb2YtZmlsdGVycyB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblx0XG5cdC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG5cdFx0Lm1kYy1idXR0b24ge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuICAgIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIFx0XHRwYWRkaW5nOiAwO1xuICAgIFx0XHRmb250LWZhbWlseTogJ0thcmxhJztcbiAgICBcdFx0Zm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG5cbiAgICBcdFx0Jjpob3ZlciB7XG4gICAgXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIFx0XHR9XG4gICAgXHR9XG5cbiAgICBcdC5pcy1hY3RpdmUge1xuICAgIFx0XHQubWRjLWJ1dHRvbiB7XG4gICAgXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICBcdFx0fVxuICAgIFx0fVxuXHR9XG59XG5cbi53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XG5cdGJ1dHRvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ge1xuXHRcdGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn0iLCIjc2VhcmNoLXJlc3VsdHMge1xuXHRcblx0YSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTsgXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cdFx0fVxuXHR9XG5cblx0LnBhZ2UtY29udGVudCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDNyZW07XG5cblx0XHQuc2VhcmNoLWZvcm0ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuXG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cblx0XHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wYWdlLXRpdGxlIHtcblx0XHRtYXJnaW4tbGVmdDogM3JlbTtcblx0fVxufSJdfQ== */
