
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@import url(../../node_modules/swiper/swiper-bundle.min.css);
@import url(../../node_modules/jquery-toast-plugin/dist/jquery.toast.min.css);
@import url(../../node_modules/simple-lightbox/dist/simpleLightbox.min.css);
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15; }

body {
  margin: 0; }

h1 {
  margin: 0.67em 0;
  font-size: 2em; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-size: 1em;
  font-family: monospace, monospace; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-size: 1em;
  font-family: monospace, monospace; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 100%;
  line-height: 1.15;
  font-family: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&tablet=48.875em&large=64em&xlarge=80em&xxlarge=103.125em&wide=120em"; }

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

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

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  background: #efefef;
  color: #484848;
  font-weight: normal;
  line-height: 1.5;
  font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }

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

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

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

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

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [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 {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem; }
  .grid-container.fluid {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
  .grid-container.full {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0; }

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

.cell {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0px;
  min-height: 0px; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    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 {
  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 {
    flex-basis: auto; } }

@media print, screen and (min-width: 48.875em) {
  .grid-x > .tablet-shrink, .grid-x > .tablet-full, .grid-x > .tablet-1, .grid-x > .tablet-2, .grid-x > .tablet-3, .grid-x > .tablet-4, .grid-x > .tablet-5, .grid-x > .tablet-6, .grid-x > .tablet-7, .grid-x > .tablet-8, .grid-x > .tablet-9, .grid-x > .tablet-10, .grid-x > .tablet-11, .grid-x > .tablet-12 {
    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 {
    flex-basis: auto; } }

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

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

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

.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 {
  flex: 0 0 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 {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .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 {
    flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    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: 48.875em) {
  .grid-x > .tablet-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .tablet-shrink, .grid-x > .tablet-1, .grid-x > .tablet-2, .grid-x > .tablet-3, .grid-x > .tablet-4, .grid-x > .tablet-5, .grid-x > .tablet-6, .grid-x > .tablet-7, .grid-x > .tablet-8, .grid-x > .tablet-9, .grid-x > .tablet-10, .grid-x > .tablet-11, .grid-x > .tablet-12 {
    flex: 0 0 auto; }
  .grid-x > .tablet-shrink {
    width: auto; }
  .grid-x > .tablet-1 {
    width: 8.33333%; }
  .grid-x > .tablet-2 {
    width: 16.66667%; }
  .grid-x > .tablet-3 {
    width: 25%; }
  .grid-x > .tablet-4 {
    width: 33.33333%; }
  .grid-x > .tablet-5 {
    width: 41.66667%; }
  .grid-x > .tablet-6 {
    width: 50%; }
  .grid-x > .tablet-7 {
    width: 58.33333%; }
  .grid-x > .tablet-8 {
    width: 66.66667%; }
  .grid-x > .tablet-9 {
    width: 75%; }
  .grid-x > .tablet-10 {
    width: 83.33333%; }
  .grid-x > .tablet-11 {
    width: 91.66667%; }
  .grid-x > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .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 {
    flex: 0 0 auto; }
  .grid-x > .large-shrink {
    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%; } }

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

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

@media screen and (min-width: 120em) {
  .grid-x > .wide-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .wide-shrink, .grid-x > .wide-1, .grid-x > .wide-2, .grid-x > .wide-3, .grid-x > .wide-4, .grid-x > .wide-5, .grid-x > .wide-6, .grid-x > .wide-7, .grid-x > .wide-8, .grid-x > .wide-9, .grid-x > .wide-10, .grid-x > .wide-11, .grid-x > .wide-12 {
    flex: 0 0 auto; }
  .grid-x > .wide-shrink {
    width: auto; }
  .grid-x > .wide-1 {
    width: 8.33333%; }
  .grid-x > .wide-2 {
    width: 16.66667%; }
  .grid-x > .wide-3 {
    width: 25%; }
  .grid-x > .wide-4 {
    width: 33.33333%; }
  .grid-x > .wide-5 {
    width: 41.66667%; }
  .grid-x > .wide-6 {
    width: 50%; }
  .grid-x > .wide-7 {
    width: 58.33333%; }
  .grid-x > .wide-8 {
    width: 66.66667%; }
  .grid-x > .wide-9 {
    width: 75%; }
  .grid-x > .wide-10 {
    width: 83.33333%; }
  .grid-x > .wide-11 {
    width: 91.66667%; }
  .grid-x > .wide-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-right: -1.5rem;
  margin-left: -1.5rem; }
  .grid-margin-x > .cell {
    width: calc(100% - 3rem);
    margin-right: 1.5rem;
    margin-left: 1.5rem; }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 3rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 3rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 3rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 3rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 3rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 3rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-x > .tablet-auto {
      width: auto; }
    .grid-margin-x > .tablet-shrink {
      width: auto; }
    .grid-margin-x > .tablet-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .tablet-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .tablet-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .tablet-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .tablet-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .tablet-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .tablet-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .tablet-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .tablet-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .tablet-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .tablet-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .tablet-12 {
      width: calc(100% - 3rem); } }
  @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% - 3rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-x > .wide-auto {
      width: auto; }
    .grid-margin-x > .wide-shrink {
      width: auto; }
    .grid-margin-x > .wide-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .wide-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .wide-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .wide-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .wide-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .wide-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .wide-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .wide-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .wide-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .wide-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .wide-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .wide-12 {
      width: calc(100% - 3rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }

.grid-padding-x > .cell {
  padding-right: 1.5rem;
  padding-left: 1.5rem; }

.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: 48.875em) {
  .tablet-up-1 > .cell {
    width: 100%; }
  .tablet-up-2 > .cell {
    width: 50%; }
  .tablet-up-3 > .cell {
    width: 33.33333%; }
  .tablet-up-4 > .cell {
    width: 25%; }
  .tablet-up-5 > .cell {
    width: 20%; }
  .tablet-up-6 > .cell {
    width: 16.66667%; }
  .tablet-up-7 > .cell {
    width: 14.28571%; }
  .tablet-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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 48.875em) {
    .small-margin-collapse > .tablet-1 {
      width: 8.33333%; }
    .small-margin-collapse > .tablet-2 {
      width: 16.66667%; }
    .small-margin-collapse > .tablet-3 {
      width: 25%; }
    .small-margin-collapse > .tablet-4 {
      width: 33.33333%; }
    .small-margin-collapse > .tablet-5 {
      width: 41.66667%; }
    .small-margin-collapse > .tablet-6 {
      width: 50%; }
    .small-margin-collapse > .tablet-7 {
      width: 58.33333%; }
    .small-margin-collapse > .tablet-8 {
      width: 66.66667%; }
    .small-margin-collapse > .tablet-9 {
      width: 75%; }
    .small-margin-collapse > .tablet-10 {
      width: 83.33333%; }
    .small-margin-collapse > .tablet-11 {
      width: 91.66667%; }
    .small-margin-collapse > .tablet-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%; } }
  @media print, screen and (min-width: 80em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 103.125em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 120em) {
    .small-margin-collapse > .wide-1 {
      width: 8.33333%; }
    .small-margin-collapse > .wide-2 {
      width: 16.66667%; }
    .small-margin-collapse > .wide-3 {
      width: 25%; }
    .small-margin-collapse > .wide-4 {
      width: 33.33333%; }
    .small-margin-collapse > .wide-5 {
      width: 41.66667%; }
    .small-margin-collapse > .wide-6 {
      width: 50%; }
    .small-margin-collapse > .wide-7 {
      width: 58.33333%; }
    .small-margin-collapse > .wide-8 {
      width: 66.66667%; }
    .small-margin-collapse > .wide-9 {
      width: 75%; }
    .small-margin-collapse > .wide-10 {
      width: 83.33333%; }
    .small-margin-collapse > .wide-11 {
      width: 91.66667%; }
    .small-margin-collapse > .wide-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: 48.875em) {
  .medium-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .tablet-3 {
    width: 25%; }
  .medium-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .tablet-6 {
    width: 50%; }
  .medium-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .tablet-9 {
    width: 75%; }
  .medium-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .tablet-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: 80em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

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

@media screen and (min-width: 120em) {
  .medium-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .wide-3 {
    width: 25%; }
  .medium-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .wide-6 {
    width: 50%; }
  .medium-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .wide-9 {
    width: 75%; }
  .medium-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .wide-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: 48.875em) {
  .tablet-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .tablet-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.875em) {
  .tablet-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .tablet-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 > .tablet-1 {
    width: 8.33333%; }
  .large-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .large-margin-collapse > .tablet-3 {
    width: 25%; }
  .large-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .large-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .large-margin-collapse > .tablet-6 {
    width: 50%; }
  .large-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .large-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .large-margin-collapse > .tablet-9 {
    width: 75%; }
  .large-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .large-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .large-margin-collapse > .tablet-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: 80em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

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

@media screen and (min-width: 120em) {
  .large-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .large-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .large-margin-collapse > .wide-3 {
    width: 25%; }
  .large-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .large-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .large-margin-collapse > .wide-6 {
    width: 50%; }
  .large-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .large-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .large-margin-collapse > .wide-9 {
    width: 75%; }
  .large-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .large-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .large-margin-collapse > .wide-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; } }

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

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

@media screen and (min-width: 103.125em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

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

@media screen and (min-width: 120em) {
  .wide-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-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% + 1.5rem); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .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 {
    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 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 48.875em) {
    .grid-y > .tablet-shrink, .grid-y > .tablet-full, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      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 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 80em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-shrink, .grid-y > .wide-full, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex-basis: auto; } }
  .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 {
    flex: 0 0 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 {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .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 {
      flex: 0 0 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: 48.875em) {
    .grid-y > .tablet-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .tablet-shrink, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      flex: 0 0 auto; }
    .grid-y > .tablet-shrink {
      height: auto; }
    .grid-y > .tablet-1 {
      height: 8.33333%; }
    .grid-y > .tablet-2 {
      height: 16.66667%; }
    .grid-y > .tablet-3 {
      height: 25%; }
    .grid-y > .tablet-4 {
      height: 33.33333%; }
    .grid-y > .tablet-5 {
      height: 41.66667%; }
    .grid-y > .tablet-6 {
      height: 50%; }
    .grid-y > .tablet-7 {
      height: 58.33333%; }
    .grid-y > .tablet-8 {
      height: 66.66667%; }
    .grid-y > .tablet-9 {
      height: 75%; }
    .grid-y > .tablet-10 {
      height: 83.33333%; }
    .grid-y > .tablet-11 {
      height: 91.66667%; }
    .grid-y > .tablet-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .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 {
      flex: 0 0 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%; } }
  @media print, screen and (min-width: 80em) {
    .grid-y > .xlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .wide-shrink, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex: 0 0 auto; }
    .grid-y > .wide-shrink {
      height: auto; }
    .grid-y > .wide-1 {
      height: 8.33333%; }
    .grid-y > .wide-2 {
      height: 16.66667%; }
    .grid-y > .wide-3 {
      height: 25%; }
    .grid-y > .wide-4 {
      height: 33.33333%; }
    .grid-y > .wide-5 {
      height: 41.66667%; }
    .grid-y > .wide-6 {
      height: 50%; }
    .grid-y > .wide-7 {
      height: 58.33333%; }
    .grid-y > .wide-8 {
      height: 66.66667%; }
    .grid-y > .wide-9 {
      height: 75%; }
    .grid-y > .wide-10 {
      height: 83.33333%; }
    .grid-y > .wide-11 {
      height: 91.66667%; }
    .grid-y > .wide-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }

.grid-padding-y > .cell {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @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% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 48.875em) {
  .cell .grid-y.tablet-grid-frame {
    height: 100%; } }

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

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

@media screen and (min-width: 103.125em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 120em) {
  .cell .grid-y.wide-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @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% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

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

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

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

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

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

@media screen and (min-width: 103.125em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 3rem); } }

@media screen and (min-width: 120em) {
  .grid-margin-y.wide-grid-frame {
    height: calc(100vh + 3rem); } }

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

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

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,
h5, .h5,
h6, .h6 {
  text-rendering: optimizeLegibility;
  color: inherit;
  font-style: normal;
  font-weight: normal;
  font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    color: #89939B;
    line-height: 0; }

h1, .h1 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 2.5rem;
  line-height: 1.25; }

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

h3, .h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.625rem;
  line-height: 1.25; }

h4, .h4 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.25; }

h5, .h5 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.0625rem;
  line-height: 1.25; }

h6, .h6 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.25; }

@media print, screen and (min-width: 48.875em) {
  h1, .h1 {
    font-size: 4.25rem; }
  h2, .h2 {
    font-size: 2.125rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4 {
    font-size: 1.375rem; } }

@media print, screen and (min-width: 80em) {
  h4, .h4 {
    font-size: 1.5rem; } }

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

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

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

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-bottom: 0;
  margin-left: 1.25rem; }

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

blockquote {
  margin: 0 0 1.5rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #89939B; }
  blockquote, blockquote p {
    color: #8a8a8a;
    line-height: 1.5; }

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

figure {
  margin: 0; }

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

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

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

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

.cite-block, cite {
  display: block;
  color: #8a8a8a;
  font-size: 0.8125rem; }
  .cite-block:before, cite:before {
    content: "— "; }

.code-inline, code {
  word-wrap: break-word;
  display: inline;
  max-width: 100%;
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #89939B;
  background-color: #efefef;
  color: #1a1a1a;
  font-weight: normal;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.code-block {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem;
  overflow: auto;
  border: 1px solid #89939B;
  background-color: #efefef;
  color: #1a1a1a;
  font-weight: normal;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  white-space: pre; }

.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: 48.875em) {
  .tablet-text-left {
    text-align: left; }
  .tablet-text-right {
    text-align: right; }
  .tablet-text-center {
    text-align: center; }
  .tablet-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; } }

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

@media screen and (min-width: 103.125em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 120em) {
  .wide-text-left {
    text-align: left; }
  .wide-text-right {
    text-align: right; }
  .wide-text-center {
    text-align: center; }
  .wide-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    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 #8a8a8a;
    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, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  border: 1px solid transparent;
  border-radius: 0.35rem;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] .button,
  [data-whatinput='mouse'] #gdpr-submit {
    outline: 0; }
  .button.tiny,
  .tiny#gdpr-submit {
    font-size: 0.895rem; }
  .button.small,
  .small#gdpr-submit {
    font-size: 0.75rem; }
  .button.large,
  .large#gdpr-submit {
    font-size: 1.25rem; }
  .button.expanded,
  .expanded#gdpr-submit {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .gdpr-framework-privacy-tools .button,
  #gdpr-submit, .button.disabled,
  .disabled#gdpr-submit, .button[disabled],
  #gdpr-submit[disabled], .button.disabled:hover,
  .disabled#gdpr-submit:hover, .button[disabled]:hover,
  #gdpr-submit[disabled]:hover, .button.disabled:focus,
  .disabled#gdpr-submit:focus, .button[disabled]:focus,
  #gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .button:hover,
  #gdpr-submit:hover, .button:focus,
  #gdpr-submit:focus {
    background-color: #023c21;
    color: #fefefe; }
  .button.primary,
  .primary#gdpr-submit, .button.primary.disabled,
  .primary.disabled#gdpr-submit, .button.primary[disabled],
  .primary#gdpr-submit[disabled], .button.primary.disabled:hover,
  .primary.disabled#gdpr-submit:hover, .button.primary[disabled]:hover,
  .primary#gdpr-submit[disabled]:hover, .button.primary.disabled:focus,
  .primary.disabled#gdpr-submit:focus, .button.primary[disabled]:focus,
  .primary#gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .button.primary:hover,
  .primary#gdpr-submit:hover, .button.primary:focus,
  .primary#gdpr-submit:focus {
    background-color: #024023;
    color: #fefefe; }
  .button.secondary,
  .secondary#gdpr-submit, .button.secondary.disabled,
  .secondary.disabled#gdpr-submit, .button.secondary[disabled],
  .secondary#gdpr-submit[disabled], .button.secondary.disabled:hover,
  .secondary.disabled#gdpr-submit:hover, .button.secondary[disabled]:hover,
  .secondary#gdpr-submit[disabled]:hover, .button.secondary.disabled:focus,
  .secondary.disabled#gdpr-submit:focus, .button.secondary[disabled]:focus,
  .secondary#gdpr-submit[disabled]:focus {
    background-color: #407636;
    color: #fefefe; }
  .button.secondary:hover,
  .secondary#gdpr-submit:hover, .button.secondary:focus,
  .secondary#gdpr-submit:focus {
    background-color: #335e2b;
    color: #fefefe; }
  .button.success,
  .success#gdpr-submit, .button.success.disabled,
  .success.disabled#gdpr-submit, .button.success[disabled],
  .success#gdpr-submit[disabled], .button.success.disabled:hover,
  .success.disabled#gdpr-submit:hover, .button.success[disabled]:hover,
  .success#gdpr-submit[disabled]:hover, .button.success.disabled:focus,
  .success.disabled#gdpr-submit:focus, .button.success[disabled]:focus,
  .success#gdpr-submit[disabled]:focus {
    background-color: #46954C;
    color: #1a1a1a; }
  .button.success:hover,
  .success#gdpr-submit:hover, .button.success:focus,
  .success#gdpr-submit:focus {
    background-color: #38773d;
    color: #1a1a1a; }
  .button.warning,
  .warning#gdpr-submit, .button.warning.disabled,
  .warning.disabled#gdpr-submit, .button.warning[disabled],
  .warning#gdpr-submit[disabled], .button.warning.disabled:hover,
  .warning.disabled#gdpr-submit:hover, .button.warning[disabled]:hover,
  .warning#gdpr-submit[disabled]:hover, .button.warning.disabled:focus,
  .warning.disabled#gdpr-submit:focus, .button.warning[disabled]:focus,
  .warning#gdpr-submit[disabled]:focus {
    background-color: #ffae00;
    color: #1a1a1a; }
  .button.warning:hover,
  .warning#gdpr-submit:hover, .button.warning:focus,
  .warning#gdpr-submit:focus {
    background-color: #cc8b00;
    color: #1a1a1a; }
  .button.alert,
  .alert#gdpr-submit, .button.alert.disabled,
  .alert.disabled#gdpr-submit, .button.alert[disabled],
  .alert#gdpr-submit[disabled], .button.alert.disabled:hover,
  .alert.disabled#gdpr-submit:hover, .button.alert[disabled]:hover,
  .alert#gdpr-submit[disabled]:hover, .button.alert.disabled:focus,
  .alert.disabled#gdpr-submit:focus, .button.alert[disabled]:focus,
  .alert#gdpr-submit[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button.alert:hover,
  .alert#gdpr-submit:hover, .button.alert:focus,
  .alert#gdpr-submit:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button.hollow,
  .hollow#gdpr-submit, .button.hollow:hover,
  .hollow#gdpr-submit:hover, .button.hollow:focus,
  .hollow#gdpr-submit:focus, .button.hollow.disabled,
  .hollow.disabled#gdpr-submit, .button.hollow.disabled:hover,
  .hollow.disabled#gdpr-submit:hover, .button.hollow.disabled:focus,
  .hollow.disabled#gdpr-submit:focus, .button.hollow[disabled],
  .hollow#gdpr-submit[disabled], .button.hollow[disabled]:hover,
  .hollow#gdpr-submit[disabled]:hover, .button.hollow[disabled]:focus,
  .hollow#gdpr-submit[disabled]:focus {
    background-color: transparent; }
  .button.hollow,
  .hollow#gdpr-submit, .button.hollow.disabled,
  .hollow.disabled#gdpr-submit, .button.hollow[disabled],
  .hollow#gdpr-submit[disabled], .button.hollow.disabled:hover,
  .hollow.disabled#gdpr-submit:hover, .button.hollow[disabled]:hover,
  .hollow#gdpr-submit[disabled]:hover, .button.hollow.disabled:focus,
  .hollow.disabled#gdpr-submit:focus, .button.hollow[disabled]:focus,
  .hollow#gdpr-submit[disabled]:focus {
    border: 1px solid #03502C;
    color: #03502C; }
  .button.hollow:hover,
  .hollow#gdpr-submit:hover, .button.hollow:focus,
  .hollow#gdpr-submit:focus {
    border-color: #022816;
    color: #022816; }
  .button.hollow.primary,
  .hollow.primary#gdpr-submit, .button.hollow.primary.disabled,
  .hollow.primary.disabled#gdpr-submit, .button.hollow.primary[disabled],
  .hollow.primary#gdpr-submit[disabled], .button.hollow.primary.disabled:hover,
  .hollow.primary.disabled#gdpr-submit:hover, .button.hollow.primary[disabled]:hover,
  .hollow.primary#gdpr-submit[disabled]:hover, .button.hollow.primary.disabled:focus,
  .hollow.primary.disabled#gdpr-submit:focus, .button.hollow.primary[disabled]:focus,
  .hollow.primary#gdpr-submit[disabled]:focus {
    border: 1px solid #03502C;
    color: #03502C; }
  .button.hollow.primary:hover,
  .hollow.primary#gdpr-submit:hover, .button.hollow.primary:focus,
  .hollow.primary#gdpr-submit:focus {
    border-color: #022816;
    color: #022816; }
  .button.hollow.secondary,
  .hollow.secondary#gdpr-submit, .button.hollow.secondary.disabled,
  .hollow.secondary.disabled#gdpr-submit, .button.hollow.secondary[disabled],
  .hollow.secondary#gdpr-submit[disabled], .button.hollow.secondary.disabled:hover,
  .hollow.secondary.disabled#gdpr-submit:hover, .button.hollow.secondary[disabled]:hover,
  .hollow.secondary#gdpr-submit[disabled]:hover, .button.hollow.secondary.disabled:focus,
  .hollow.secondary.disabled#gdpr-submit:focus, .button.hollow.secondary[disabled]:focus,
  .hollow.secondary#gdpr-submit[disabled]:focus {
    border: 1px solid #407636;
    color: #407636; }
  .button.hollow.secondary:hover,
  .hollow.secondary#gdpr-submit:hover, .button.hollow.secondary:focus,
  .hollow.secondary#gdpr-submit:focus {
    border-color: #203b1b;
    color: #203b1b; }
  .button.hollow.success,
  .hollow.success#gdpr-submit, .button.hollow.success.disabled,
  .hollow.success.disabled#gdpr-submit, .button.hollow.success[disabled],
  .hollow.success#gdpr-submit[disabled], .button.hollow.success.disabled:hover,
  .hollow.success.disabled#gdpr-submit:hover, .button.hollow.success[disabled]:hover,
  .hollow.success#gdpr-submit[disabled]:hover, .button.hollow.success.disabled:focus,
  .hollow.success.disabled#gdpr-submit:focus, .button.hollow.success[disabled]:focus,
  .hollow.success#gdpr-submit[disabled]:focus {
    border: 1px solid #46954C;
    color: #46954C; }
  .button.hollow.success:hover,
  .hollow.success#gdpr-submit:hover, .button.hollow.success:focus,
  .hollow.success#gdpr-submit:focus {
    border-color: #234b26;
    color: #234b26; }
  .button.hollow.warning,
  .hollow.warning#gdpr-submit, .button.hollow.warning.disabled,
  .hollow.warning.disabled#gdpr-submit, .button.hollow.warning[disabled],
  .hollow.warning#gdpr-submit[disabled], .button.hollow.warning.disabled:hover,
  .hollow.warning.disabled#gdpr-submit:hover, .button.hollow.warning[disabled]:hover,
  .hollow.warning#gdpr-submit[disabled]:hover, .button.hollow.warning.disabled:focus,
  .hollow.warning.disabled#gdpr-submit:focus, .button.hollow.warning[disabled]:focus,
  .hollow.warning#gdpr-submit[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover,
  .hollow.warning#gdpr-submit:hover, .button.hollow.warning:focus,
  .hollow.warning#gdpr-submit:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert,
  .hollow.alert#gdpr-submit, .button.hollow.alert.disabled,
  .hollow.alert.disabled#gdpr-submit, .button.hollow.alert[disabled],
  .hollow.alert#gdpr-submit[disabled], .button.hollow.alert.disabled:hover,
  .hollow.alert.disabled#gdpr-submit:hover, .button.hollow.alert[disabled]:hover,
  .hollow.alert#gdpr-submit[disabled]:hover, .button.hollow.alert.disabled:focus,
  .hollow.alert.disabled#gdpr-submit:focus, .button.hollow.alert[disabled]:focus,
  .hollow.alert#gdpr-submit[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover,
  .hollow.alert#gdpr-submit:hover, .button.hollow.alert:focus,
  .hollow.alert#gdpr-submit:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.clear,
  .clear#gdpr-submit, .button.clear:hover,
  .clear#gdpr-submit:hover, .button.clear:focus,
  .clear#gdpr-submit:focus, .button.clear.disabled,
  .clear.disabled#gdpr-submit, .button.clear.disabled:hover,
  .clear.disabled#gdpr-submit:hover, .button.clear.disabled:focus,
  .clear.disabled#gdpr-submit:focus, .button.clear[disabled],
  .clear#gdpr-submit[disabled], .button.clear[disabled]:hover,
  .clear#gdpr-submit[disabled]:hover, .button.clear[disabled]:focus,
  .clear#gdpr-submit[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear,
  .clear#gdpr-submit, .button.clear.disabled,
  .clear.disabled#gdpr-submit, .button.clear[disabled],
  .clear#gdpr-submit[disabled], .button.clear.disabled:hover,
  .clear.disabled#gdpr-submit:hover, .button.clear[disabled]:hover,
  .clear#gdpr-submit[disabled]:hover, .button.clear.disabled:focus,
  .clear.disabled#gdpr-submit:focus, .button.clear[disabled]:focus,
  .clear#gdpr-submit[disabled]:focus {
    color: #03502C; }
  .button.clear:hover,
  .clear#gdpr-submit:hover, .button.clear:focus,
  .clear#gdpr-submit:focus {
    color: #022816; }
  .button.clear.primary,
  .clear.primary#gdpr-submit, .button.clear.primary.disabled,
  .clear.primary.disabled#gdpr-submit, .button.clear.primary[disabled],
  .clear.primary#gdpr-submit[disabled], .button.clear.primary.disabled:hover,
  .clear.primary.disabled#gdpr-submit:hover, .button.clear.primary[disabled]:hover,
  .clear.primary#gdpr-submit[disabled]:hover, .button.clear.primary.disabled:focus,
  .clear.primary.disabled#gdpr-submit:focus, .button.clear.primary[disabled]:focus,
  .clear.primary#gdpr-submit[disabled]:focus {
    color: #03502C; }
  .button.clear.primary:hover,
  .clear.primary#gdpr-submit:hover, .button.clear.primary:focus,
  .clear.primary#gdpr-submit:focus {
    color: #022816; }
  .button.clear.secondary,
  .clear.secondary#gdpr-submit, .button.clear.secondary.disabled,
  .clear.secondary.disabled#gdpr-submit, .button.clear.secondary[disabled],
  .clear.secondary#gdpr-submit[disabled], .button.clear.secondary.disabled:hover,
  .clear.secondary.disabled#gdpr-submit:hover, .button.clear.secondary[disabled]:hover,
  .clear.secondary#gdpr-submit[disabled]:hover, .button.clear.secondary.disabled:focus,
  .clear.secondary.disabled#gdpr-submit:focus, .button.clear.secondary[disabled]:focus,
  .clear.secondary#gdpr-submit[disabled]:focus {
    color: #407636; }
  .button.clear.secondary:hover,
  .clear.secondary#gdpr-submit:hover, .button.clear.secondary:focus,
  .clear.secondary#gdpr-submit:focus {
    color: #203b1b; }
  .button.clear.success,
  .clear.success#gdpr-submit, .button.clear.success.disabled,
  .clear.success.disabled#gdpr-submit, .button.clear.success[disabled],
  .clear.success#gdpr-submit[disabled], .button.clear.success.disabled:hover,
  .clear.success.disabled#gdpr-submit:hover, .button.clear.success[disabled]:hover,
  .clear.success#gdpr-submit[disabled]:hover, .button.clear.success.disabled:focus,
  .clear.success.disabled#gdpr-submit:focus, .button.clear.success[disabled]:focus,
  .clear.success#gdpr-submit[disabled]:focus {
    color: #46954C; }
  .button.clear.success:hover,
  .clear.success#gdpr-submit:hover, .button.clear.success:focus,
  .clear.success#gdpr-submit:focus {
    color: #234b26; }
  .button.clear.warning,
  .clear.warning#gdpr-submit, .button.clear.warning.disabled,
  .clear.warning.disabled#gdpr-submit, .button.clear.warning[disabled],
  .clear.warning#gdpr-submit[disabled], .button.clear.warning.disabled:hover,
  .clear.warning.disabled#gdpr-submit:hover, .button.clear.warning[disabled]:hover,
  .clear.warning#gdpr-submit[disabled]:hover, .button.clear.warning.disabled:focus,
  .clear.warning.disabled#gdpr-submit:focus, .button.clear.warning[disabled]:focus,
  .clear.warning#gdpr-submit[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover,
  .clear.warning#gdpr-submit:hover, .button.clear.warning:focus,
  .clear.warning#gdpr-submit:focus {
    color: #805700; }
  .button.clear.alert,
  .clear.alert#gdpr-submit, .button.clear.alert.disabled,
  .clear.alert.disabled#gdpr-submit, .button.clear.alert[disabled],
  .clear.alert#gdpr-submit[disabled], .button.clear.alert.disabled:hover,
  .clear.alert.disabled#gdpr-submit:hover, .button.clear.alert[disabled]:hover,
  .clear.alert#gdpr-submit[disabled]:hover, .button.clear.alert.disabled:focus,
  .clear.alert.disabled#gdpr-submit:focus, .button.clear.alert[disabled]:focus,
  .clear.alert#gdpr-submit[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover,
  .clear.alert#gdpr-submit:hover, .button.clear.alert:focus,
  .clear.alert#gdpr-submit:focus {
    color: #67251a; }
  .button.disabled,
  .disabled#gdpr-submit, .button[disabled],
  #gdpr-submit[disabled] {
    cursor: not-allowed;
    opacity: 0.25; }
  .button.dropdown::after,
  .dropdown#gdpr-submit::after {
    display: block;
    display: inline-block;
    position: relative;
    top: 0.4em;
    width: 0;
    height: 0;
    margin-left: 2.5em;
    float: right;
    border: inset 0.4em;
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    content: ''; }
  .button.dropdown.hollow::after,
  .dropdown.hollow#gdpr-submit::after, .button.dropdown.clear::after,
  .dropdown.clear#gdpr-submit::after {
    border-top-color: #03502C; }
  .button.dropdown.hollow.primary::after,
  .dropdown.hollow.primary#gdpr-submit::after, .button.dropdown.clear.primary::after,
  .dropdown.clear.primary#gdpr-submit::after {
    border-top-color: #03502C; }
  .button.dropdown.hollow.secondary::after,
  .dropdown.hollow.secondary#gdpr-submit::after, .button.dropdown.clear.secondary::after,
  .dropdown.clear.secondary#gdpr-submit::after {
    border-top-color: #407636; }
  .button.dropdown.hollow.success::after,
  .dropdown.hollow.success#gdpr-submit::after, .button.dropdown.clear.success::after,
  .dropdown.clear.success#gdpr-submit::after {
    border-top-color: #46954C; }
  .button.dropdown.hollow.warning::after,
  .dropdown.hollow.warning#gdpr-submit::after, .button.dropdown.clear.warning::after,
  .dropdown.clear.warning#gdpr-submit::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after,
  .dropdown.hollow.alert#gdpr-submit::after, .button.dropdown.clear.alert::after,
  .dropdown.clear.alert#gdpr-submit::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after,
  .arrow-only#gdpr-submit::after {
    top: -0.1em;
    margin-left: 0;
    float: none; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  box-sizing: border-box;
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #89939B;
  border-radius: 0.35rem;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(26, 26, 26, 0.1);
  color: #1a1a1a;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #46954C;
    outline: none;
    background-color: #fefefe;
    box-shadow: 0 0 0 2px #46954C;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #efefef;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.35rem; }

input[type='search'] {
  box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #89939B; }

::-moz-placeholder {
  color: #89939B; }

:-ms-input-placeholder {
  color: #89939B; }

::-ms-input-placeholder {
  color: #89939B; }

::placeholder {
  color: #89939B; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
  margin-left: 0.5rem;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  color: #1a1a1a;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.5; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  color: #1a1a1a;
  font-style: italic;
  font-size: 0.8125rem; }

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0.35rem 0 0 0.35rem; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0.35rem 0.35rem 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 1rem;
  border: 1px solid #89939B;
  background: #efefef;
  color: #1a1a1a;
  text-align: center;
  white-space: nowrap; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  flex: 1 1 0px;
  min-width: 0;
  border-radius: 0; }

.input-group-button {
  display: flex;
  flex: 0 0 auto;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #89939B; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  padding-right: 1.5rem;
  border: 1px solid #89939B;
  border-radius: 0.35rem;
  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%28138, 138, 138%29'></polygon></svg>");
  background-position: right -1rem center;
  background-size: 9px 6px;
  background-repeat: no-repeat;
  background-origin: content-box;
  background-color: #fefefe;
  color: #1a1a1a;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.5;
  font-family: inherit;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    border: 1px solid #46954C;
    outline: none;
    background-color: #fefefe;
    box-shadow: 0 0 0 2px #46954C;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #efefef;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  color: #cc4b37;
  font-weight: bold;
  font-size: 0.75rem; }
  .form-error.is-visible {
    display: block; }

.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 {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 100%;
  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 {
    display: block;
    z-index: 1;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-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%; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  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%; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

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

.reveal {
  display: none;
  z-index: 1006;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  padding: 3rem;
  overflow-y: auto;
  border: 0;
  border-radius: 0.35rem;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #fefefe; }
  [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: 100%;
      max-width: 960px; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 960px; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 960px; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 960px; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

table {
  width: 100%;
  margin-bottom: 1.5rem;
  border-radius: 0.35rem;
  border-collapse: collapse; }
  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: #484848; }
  tfoot {
    background: #f1f1f1;
    color: #484848; }
  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 print, screen and (max-width: 48.87375em) {
  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; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media print, screen and (max-width: 39.99875em) {
  .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.99875em) {
  .show-for-medium {
    display: none !important; } }

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

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

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

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

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .hide-for-tablet-only {
    display: none !important; } }

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

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

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

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

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

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

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

@media print, screen and (min-width: 80em) and (max-width: 103.12375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

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

@media screen and (min-width: 103.125em) {
  .hide-for-xxlarge {
    display: none !important; } }

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

@media screen and (min-width: 103.125em) and (max-width: 119.99875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

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

@media screen and (min-width: 120em) {
  .hide-for-wide {
    display: none !important; } }

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

@media screen and (min-width: 120em) {
  .hide-for-wide-only {
    display: none !important; } }

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

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

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

.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-left {
  justify-content: flex-start; }

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

.align-center {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced {
  justify-content: space-around; }

.align-left.vertical.menu > li > a {
  justify-content: flex-start; }

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

.align-center.vertical.menu > li > a {
  justify-content: center; }

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

.align-self-top {
  align-self: flex-start; }

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

.align-self-bottom {
  align-self: flex-end; }

.align-middle {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  align-content: center;
  align-items: center;
  justify-content: center; }

.small-order-1 {
  order: 1; }

.small-order-2 {
  order: 2; }

.small-order-3 {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

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

@media print, screen and (min-width: 48.875em) {
  .tablet-order-1 {
    order: 1; }
  .tablet-order-2 {
    order: 2; }
  .tablet-order-3 {
    order: 3; }
  .tablet-order-4 {
    order: 4; }
  .tablet-order-5 {
    order: 5; }
  .tablet-order-6 {
    order: 6; } }

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

@media print, screen and (min-width: 80em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-order-1 {
    order: 1; }
  .xxlarge-order-2 {
    order: 2; }
  .xxlarge-order-3 {
    order: 3; }
  .xxlarge-order-4 {
    order: 4; }
  .xxlarge-order-5 {
    order: 5; }
  .xxlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 120em) {
  .wide-order-1 {
    order: 1; }
  .wide-order-2 {
    order: 2; }
  .wide-order-3 {
    order: 3; }
  .wide-order-4 {
    order: 4; }
  .wide-order-5 {
    order: 5; }
  .wide-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 103.125em) {
  .xxlarge-flex-container {
    display: flex; }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 120em) {
  .wide-flex-container {
    display: flex; }
  .wide-flex-child-auto {
    flex: 1 1 auto; }
  .wide-flex-child-grow {
    flex: 1 0 auto; }
  .wide-flex-child-shrink {
    flex: 0 1 auto; }
  .wide-flex-dir-row {
    flex-direction: row; }
  .wide-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .wide-flex-dir-column {
    flex-direction: column; }
  .wide-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

label.checkbox input[type='radio'],
label.checkbox input[type='checkbox'], .hny .gform_wrapper .gfield_time_hour i,
.hny .gform_wrapper .gfield_time_hour label,
.hny .gform_wrapper .gfield_time_minute i,
.hny .gform_wrapper .gfield_time_minute label, html .gform_wrapper.gravity-theme .gform_required_legend,
.u-screen-reader {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0; }


.u-clearfix::before,
.u-clearfix::after {
  display: table;
  flex-basis: 0;
  order: 1;
  content: ' '; }


.u-clearfix::after {
  clear: both; }

.wysiwyg a:not([href$=".pdf"])[target='_blank']:after,
.u-external-link:after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-bottom: 3px;
  margin-left: 4px;
  background-image: url("../images/external-link.svg");
  background-size: 8px;
  content: '';
  vertical-align: middle; }
  .padded-block .wysiwyg a:not([href$=".pdf"])[target='_blank']:after, .wysiwyg .padded-block a:not([href$=".pdf"])[target='_blank']:after, .padded-block
  .u-external-link:after {
    background-image: url("../images/external-link-alt.svg"); }


.u-photo-bg, .brochures__item figure, .card__photo figure, .gallery figure, .hero--landing, .hero figure, .map figure, .product-categories__item > figure, .product-gallery__slider .swiper-slide figure, .recent-updates figure,
.u-bg-cover {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }


.u-bg-contain {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat; }


.u-bg-100 {
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat; }

.u-svg-container {
  position: relative;
  width: 100%;
  height: 0; }
  .u-svg-container img,
  .u-svg-container svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .u-svg-container--logo {
    padding-bottom: 89.40929%; }


.u-photo-bg {
  padding-bottom: 66.66667%; }
  
  .u-photo-bg--square {
    padding-bottom: 100%; }
  
  .u-photo-bg--extend-left {
    margin-left: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-left {
        margin-left: calc(-50vw + 100% + 1.5rem); } }
  
  .u-photo-bg--extend-right {
    margin-right: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-right {
        margin-right: calc(-50vw + 100% + 1.5rem); } }

@-webkit-keyframes fadeInUp {
  from {
    -webkit-transform: translateY(1.5rem);
            transform: translateY(1.5rem);
    opacity: 0; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes fadeInUp {
  from {
    -webkit-transform: translateY(1.5rem);
            transform: translateY(1.5rem);
    opacity: 0; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

html {
  display: flex; }
  @media screen and (min-width: 103.125em) {
    html {
      font-size: 106.25%; } }

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-image: url("../images/concrete_seamless.png");
  background-color: #efefef; }
  body.admin-bar {
    min-height: calc(100vh - 46px); }
    @media print, screen and (min-width: 48.875em) {
      body.admin-bar {
        min-height: calc(100vh - 32px); } }

a {
  font-weight: bold;
  transition: all 0.2s ease-in-out; }

address {
  font-style: normal; }

label {
  cursor: pointer; }

:root {
  --swiper-theme-color: #407636; }

figure[data-bg] {
  opacity: 0; }
  figure[data-bg],
  figure[data-bg] + figure {
    transition: all 1s ease-in-out; }
  figure[data-bg].loaded {
    opacity: 1; }
    figure[data-bg].loaded ~ .loader,
    figure[data-bg].loaded + figure {
      opacity: 0; }

p.small {
  font-size: 80%; }

.breadcrumbs {
  -webkit-text-stroke: 0.01em currentColor;
  /* or 0.01em might be better */ }
  .breadcrumbs__items {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin: 0 0 1.5rem;
    font-size: 0.6875rem;
    list-style: none;
    text-transform: uppercase; }
    @media print, screen and (min-width: 80em) {
      .breadcrumbs__items {
        font-size: 0.8125rem; } }
  .breadcrumbs__item {
    display: inline-block; }
    .breadcrumbs__item > a {
      font-weight: bold; }
  .breadcrumbs__separator {
    margin-right: 0.25rem;
    margin-left: 0.25rem; }

@media print, screen and (min-width: 40em) {
  .button-group {
    display: flex;
    flex-flow: row wrap; } }

.button-group--centered {
  justify-content: center; }

@media print, screen and (max-width: 39.99875em) {
  .button-group .button,
  .button-group #gdpr-submit {
    width: 100%; } }

.button-group .button + .button, .button-group #gdpr-submit + .button, .button-group .gdpr-framework-privacy-tools .button + .button, .button-group .gdpr-framework-privacy-tools #gdpr-submit + .button,
.button-group .button + #gdpr-submit,
.button-group .gdpr-framework-privacy-tools .button + #gdpr-submit,
.button-group #gdpr-submit + #gdpr-submit {
  margin-top: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .button-group .button + .button, .button-group #gdpr-submit + .button, .button-group .gdpr-framework-privacy-tools .button + .button, .button-group .gdpr-framework-privacy-tools #gdpr-submit + .button,
    .button-group .button + #gdpr-submit,
    .button-group .gdpr-framework-privacy-tools .button + #gdpr-submit,
    .button-group #gdpr-submit + #gdpr-submit {
      margin-top: 0;
      margin-left: 0.5rem; } }

button, .button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  outline: none;
  transition: all 0.2s ease-in-out; }

.button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  display: inline-flex;
  z-index: 2;
  position: relative;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 2px solid #fefefe;
  outline: none;
  background: #03502C;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
  letter-spacing: 0.125em;
  text-transform: uppercase; }
  .button .hny-svg, #gdpr-submit .hny-svg {
    width: 1.75em;
    height: 1.75em;
    opacity: 0.6;
    transition: inherit; }
    .button .hny-svg + span, #gdpr-submit .hny-svg + span {
      margin-left: 1rem; }
  .button span + .hny-svg, #gdpr-submit span + .hny-svg {
    margin-left: 1rem; }
  .button:after, .gdpr-framework-privacy-tools .button:after,
  #gdpr-submit:after {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    background-image: linear-gradient(0deg, #305929 0%, rgba(7, 183, 101, 0.85) 95%);
    content: '';
    opacity: 0.1;
    transition: 300ms; }
  .button:hover .hny-svg, #gdpr-submit:hover .hny-svg {
    opacity: 1; }
  .button:hover:after,
  #gdpr-submit:hover:after {
    -webkit-transform: scale(5);
            transform: scale(5); }
  .button.secondary,
  .secondary#gdpr-submit {
    background-color: #89939B; }
    .button.secondary:after,
    .secondary#gdpr-submit:after {
      background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.5) 0%, rgba(254, 254, 254, 0.4) 75%); }
    .button.secondary:hover,
    .secondary#gdpr-submit:hover {
      background: #1a1a1a; }
  .button.success,
  .success#gdpr-submit {
    color: #fefefe; }
    .button.success:focus,
    .success#gdpr-submit:focus, .button.success:hover,
    .success#gdpr-submit:hover {
      color: #fefefe; }
  .button.tiny,
  .tiny#gdpr-submit {
    padding: 0.5em 1em;
    font-weight: normal;
    font-size: 0.75rem;
    letter-spacing: 0;
    text-transform: none; }
  .button.is-loading > span:not(.loader), .gdpr-framework-privacy-tools .is-loading.button > span:not(.loader), .is-loading#gdpr-submit > span:not(.loader) {
    visibility: hidden;
    opacity: 0; }
  .button.is-loading > span.loader, .gdpr-framework-privacy-tools .is-loading.button > span.loader, .is-loading#gdpr-submit > span.loader {
    visibility: visible;
    opacity: 1; }
  .button .loader, #gdpr-submit .loader {
    display: flex;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    opacity: 0; }

.is-drilldown {
  max-width: none !important;
  overflow: visible; }
  .is-mobile-nav-open .is-drilldown {
    min-height: 0 !important; }
  .is-drilldown * {
    overflow: hidden; }
  .is-drilldown .drilldown a {
    background: none; }
  .is-drilldown .drilldown .js-drilldown-back > a {
    font-weight: bold; }
  .is-drilldown .drilldown .is-drilldown-submenu-parent > a:focus:After, .is-drilldown .drilldown .is-drilldown-submenu-parent > a:hover:After {
    border-left-color: currentColor; }
  .is-drilldown .drilldown .is-drilldown-submenu {
    right: 100%;
    left: auto;
    margin-left: 0;
    background: none;
    opacity: 0; }
    .is-drilldown .drilldown .is-drilldown-submenu.is-active {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      opacity: 1; }
    .is-drilldown .drilldown .is-drilldown-submenu.is-closing {
      -webkit-transform: none;
              transform: none; }

label.checkbox span {
  display: flex;
  position: relative;
  flex-flow: row nowrap;
  align-items: center;
  overflow: visible;
  text-overflow: inherit; }
  label.checkbox span:before {
    display: block;
    width: 20px;
    height: 20px;
    margin-right: 0.25rem;
    border: 1px solid #8a8a8a;
    border-radius: 50%;
    background: #fefefe;
    content: "";
    transition: all 0.2s ease-in-out; }

label.checkbox input[type='radio'] + span:before {
  border-radius: 50%; }

label.checkbox input[type='radio']:checked + span:before,
label.checkbox input[type='checkbox']:checked + span:before {
  border-color: #03502C;
  background: #fefefe;
  box-shadow: 0 0 0 5px #03502C inset; }

select {
  padding: 0.5rem 1.5rem 0.5rem 0.5rem !important; }

.hny .gf_browser_ie.gform_wrapper .gform_footer input.button,
.hny .gf_browser_ie.gform_wrapper .gform_footer input#gdpr-submit {
  padding: 1.25em 2.5em; }

.hny .gform_wrapper {
  margin-top: 0;
  margin-bottom: 0; }
  .hny .gform_wrapper h1,
  .hny .gform_wrapper h2,
  .hny .gform_wrapper h3 {
    font-weight: bold; }
  .hny .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type="radio"],
  .hny .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type="checkbox"] {
    vertical-align: top !important; }
  .hny .gform_wrapper.gf_browser_safari ul.gform_fields li.gfield input[type="checkbox"] {
    vertical-align: 0 !important; }
  .hny .gform_wrapper.gf_browser_safari ul.gform_fields li.gfield input[type="radio"] {
    vertical-align: -2px !important; }
  .hny .gform_wrapper form::before, .hny .gform_wrapper form::after {
    display: table;
    flex-basis: 0;
    order: 1;
    content: ' '; }
  .hny .gform_wrapper form::after {
    clear: both; }
  .hny .gform_wrapper .gfield_html table {
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: #fefefe !important; }
    .hny .gform_wrapper .gfield_html table * {
      font-size: 0.875rem !important;
      font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important; }
    .hny .gform_wrapper .gfield_html table th {
      color: #484848 !important; }
    .hny .gform_wrapper .gfield_html table tr:nth-child(odd) {
      background: #fefefe !important; }
  .hny .gform_wrapper .gfield_password_strength {
    border: 1px solid #89939B;
    background: #efefef;
    font-weight: bold; }
    .hny .gform_wrapper .gfield_password_strength.strong {
      border: 0;
      background-color: #46954C;
      color: #fefefe; }
    .hny .gform_wrapper .gfield_password_strength.good {
      border: 0;
      background-color: #ffae00;
      color: #805700; }
    .hny .gform_wrapper .gfield_password_strength.mismatch, .hny .gform_wrapper .gfield_password_strength.short, .hny .gform_wrapper .gfield_password_strength.bad {
      border: 0;
      background-color: #cc4b37;
      color: #fefefe; }
  .hny .gform_wrapper h3.gform_title {
    margin-top: 0; }
  .hny .gform_wrapper .gsection {
    padding-bottom: 0;
    border: 0; }
  .hny .gform_wrapper li.gfield + .gsection,
  .hny .gform_wrapper li.gfmc-column + .gsection {
    margin-top: 1.5rem !important; }
  .hny .gform_wrapper h2.gsection_title {
    color: #03502C;
    font-weight: bold;
    font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  .hny .gform_wrapper .ginput_container.gfield_time_ampm select {
    width: auto !important;
    max-width: none !important; }
  .hny .gform_wrapper span.ginput_product_price, .hny .gform_wrapper span.ginput_total {
    color: #46954C;
    font-size: 1.25rem; }
  .hny .gform_wrapper .gfield_time_hour,
  .hny .gform_wrapper .gfield_time_minute {
    max-width: calc(4rem + .5rem);
    margin-right: 0.5rem; }
    .hny .gform_wrapper .gfield_time_hour input,
    .hny .gform_wrapper .gfield_time_minute input {
      width: 100%; }
  @media screen and (min-width: 40.0625em) {
    .hny .gform_wrapper ul.gform_fields {
      margin-right: -16px !important; } }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
    margin-bottom: 0.5rem !important;
    color: #8a8a8a;
    font-size: 0.75rem;
    letter-spacing: 0; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex .ginput_cardextras {
    margin-top: 1rem;
    margin-bottom: 1rem; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex .ginput_card_security_code {
    display: inline-block; }
  .hny .gform_wrapper .gfield {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    page-break-inside: avoid; }
    .hny .gform_wrapper .gfield:not(.gfield_visibility_hidden) {
      position: relative; }
  .hny .gform_wrapper .gfield_error .gfield_label {
    color: #cc4b37; }
  .hny .gform_wrapper textarea,
  .hny .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
    padding: 0.5rem !important; }
  .hny .gform_wrapper .ginput_quantity {
    display: inline;
    width: 4.25rem; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
  .hny .gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label {
    color: #8a8a8a;
    font-size: 0.75rem;
    letter-spacing: 0; }
  .hny .gform_wrapper li.gf_list_inline ul.gfield_checkbox li, .hny .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    margin-right: 1rem !important; }
  .hny .gform_wrapper li .ginput_container_radio li label,
  .hny .gform_wrapper li .ginput_container_consent label,
  .hny .gform_wrapper li ul.gfield_checkbox li label {
    max-width: none;
    margin-right: 0;
    padding-left: 1.625rem;
    overflow: visible;
    text-overflow: inherit; }
    .hny .gform_wrapper li .ginput_container_radio li label:before,
    .hny .gform_wrapper li .ginput_container_consent label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li label:before {
      display: block;
      position: absolute;
      top: 0.2em;
      left: 0;
      width: 20px;
      height: 20px;
      margin-right: 0.25rem;
      border: 1px solid #8a8a8a;
      border-radius: 50%;
      background: #fefefe;
      content: "";
      transition: all 0.2s ease-in-out; }
  .hny .gform_wrapper li .ginput_container_radio li input[type="radio"],
  .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"],
  .hny .gform_wrapper li .ginput_container_consent input[type="radio"],
  .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"],
  .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"],
  .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    position: absolute;
    opacity: 0; }
    .hny .gform_wrapper li .ginput_container_radio li input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_consent input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"]:checked + label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"]:checked + label:before {
      border-color: #03502C;
      background: #fefefe;
      box-shadow: 0 0 0 5px #03502C inset; }
    .hny .gform_wrapper li .ginput_container_radio li input[type="radio"] + label,
    .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"] + label,
    .hny .gform_wrapper li .ginput_container_consent input[type="radio"] + label,
    .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"] + label,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"] + label,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"] + label {
      margin-left: 0; }
  .hny .gform_wrapper li .ginput_container_consent label:before,
  .hny .gform_wrapper li ul.gfield_checkbox li label:before {
    border-radius: 0.35rem; }
  .hny .gform_wrapper .gfield_list thead {
    display: none; }
  .hny .gform_wrapper .gfield_list td.gfield_list_cell input,
  .hny .gform_wrapper .gfield_list td.gfield_list_cell select {
    margin-bottom: 0; }
  .hny .gform_wrapper .top_label div.ginput_container {
    margin-top: 0 !important; }
  .hny .gform_wrapper .top_label li ul.gfield_radio, .hny .gform_wrapper .top_label li ul.gfield_checkbox {
    width: 100%; }
  .hny .gform_wrapper div.validation_error {
    display: none; }
  .hny .gform_wrapper div.ginput_container_fileupload {
    font-size: 0.6875rem; }
    .hny .gform_wrapper div.ginput_container_fileupload input.medium {
      width: 100%;
      font-size: 0.875rem; }
  .hny .gform_wrapper .ginput_preview img:not(.gform_delete) {
    max-width: 300px; }
  .hny .gform_wrapper li.gfield {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important; }
    .hny .gform_wrapper li.gfield .ginput_container_consent .gfield_required {
      display: none; }
    .hny .gform_wrapper li.gfield label.gfield_label {
      margin-bottom: 0 !important;
      font-weight: normal;
      font-size: 1rem; }
    .hny .gform_wrapper li.gfield label span {
      display: inline; }
    .hny .gform_wrapper li.gfield label:empty {
      display: none; }
    .hny .gform_wrapper li.gfield > label.gfield_label {
      font-weight: bold; }
    .hny .gform_wrapper li.gfield.hidden_label label {
      margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield.hidden_label input {
      margin-top: 0; }
    .hny .gform_wrapper li.gfield select {
      line-height: 1 !important; }
    .hny .gform_wrapper li.gfield select,
    .hny .gform_wrapper li.gfield textarea,
    .hny .gform_wrapper li.gfield input {
      margin-top: 0 !important;
      margin-bottom: 0 !important; }
      .hny .gform_wrapper li.gfield select + label,
      .hny .gform_wrapper li.gfield textarea + label,
      .hny .gform_wrapper li.gfield input + label {
        margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield textarea {
      max-height: 200px; }
      .no-max-height .hny .gform_wrapper li.gfield textarea {
        max-height: none; }
    .hny .gform_wrapper li.gfield.gfield_error {
      margin-bottom: 1.5rem !important;
      padding-top: 0;
      padding-bottom: 0;
      border: none;
      background: none;
      font-weight: bold; }
      .hny .gform_wrapper li.gfield.gfield_error select,
      .hny .gform_wrapper li.gfield.gfield_error textarea,
      .hny .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
        margin-bottom: 0;
        border-color: #cc4b37;
        box-shadow: inset 0 -3px 0 0 #cc4b37; }
      .hny .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
        margin-top: 0; }
  .hny .gform_wrapper .field_description_above .gfield_description {
    padding-bottom: 0.25rem; }
  .hny .gform_wrapper .field_description_above .gfield_description,
  .hny .gform_wrapper .field_description_below .gfield_description {
    padding-top: 0.25rem; }
    .hny .gform_wrapper .field_description_above .gfield_description.validation_message,
    .hny .gform_wrapper .field_description_below .gfield_description.validation_message {
      padding-right: 0;
      color: #cc4b37;
      font-weight: normal;
      font-size: 0.625rem; }
  .hny .gform_wrapper .field_description_above .instruction,
  .hny .gform_wrapper .field_description_below .instruction {
    display: none; }
  .hny .gform_wrapper .ginput_container_date {
    position: relative; }
    .hny .gform_wrapper .ginput_container_date img.ui-datepicker-trigger {
      position: absolute;
      top: 50%;
      right: 0.5rem;
      margin-top: -8px;
      cursor: pointer; }
  .hny .gform_wrapper .top_label input.large.datepicker, .hny .gform_wrapper .top_label input.medium.datepicker, .hny .gform_wrapper .top_label input.small.datepicker {
    width: 100%; }
  .hny .gform_wrapper .gform_ajax_spinner,
  .hny .gform_wrapper .gform-loader {
    display: none; }
  .hny .gform_wrapper .gform_page_footer {
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    .hny .gform_wrapper .gform_page_footer .button + .button, .hny .gform_wrapper .gform_page_footer #gdpr-submit + .button, .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools .button + .button, .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools #gdpr-submit + .button,
    .hny .gform_wrapper .gform_page_footer .button + #gdpr-submit,
    .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools .button + #gdpr-submit,
    .hny .gform_wrapper .gform_page_footer #gdpr-submit + #gdpr-submit {
      margin-left: 0.5rem; }
    .hny .gform_wrapper .gform_page_footer .button.gform_button,
    .hny .gform_wrapper .gform_page_footer .gform_button#gdpr-submit, .hny .gform_wrapper .gform_page_footer .button.gform_next_button,
    .hny .gform_wrapper .gform_page_footer .gform_next_button#gdpr-submit {
      margin-right: 0; }
    .hny .gform_wrapper .gform_page_footer .button.gform_previous_button,
    .hny .gform_wrapper .gform_page_footer .gform_previous_button#gdpr-submit {
      margin-bottom: 0; }
  .hny .gform_wrapper .gform_footer {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    margin-top: 0;
    padding: 0; }
    .hny .gform_wrapper .gform_footer .denotes-required {
      display: block;
      color: #8a8a8a;
      font-style: italic;
      font-size: 0.75rem; }
      .hny .gform_wrapper .gform_footer .denotes-required:before {
        display: inline-block;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        margin-right: 0.5rem;
        border-radius: 50%;
        background: #cc4b37;
        content: ""; }
  .hny .gform_wrapper .gform_footer input.button,
  .hny .gform_wrapper .gform_footer input#gdpr-submit,
  .hny .gform_wrapper .gform_footer .button,
  .hny .gform_wrapper .gform_footer #gdpr-submit,
  .hny .gform_wrapper .gform_footer input[type="submit"] {
    margin: 0;
    font-weight: bold; }
  .hny .gform_wrapper .chosen-container-multi .chosen-choices {
    padding: 1rem;
    border: 1px solid #89939B;
    background: #fefefe; }
    .hny .gform_wrapper .chosen-container-multi .chosen-choices input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']).chosen-search-input {
      padding: 0 !important; }
  .hny .gform_wrapper .chosen-container-active .chosen-choices {
    border: 1px solid #46954C;
    box-shadow: none; }
  @media print, screen and (min-width: 48.875em) {
    .hny .gform_wrapper .hny-date-time-list table tr {
      display: flex !important;
      flex-flow: row nowrap;
      align-items: center;
      background: none !important; }
      .hny .gform_wrapper .hny-date-time-list table tr td {
        flex: 0 1 auto; }
        .hny .gform_wrapper .hny-date-time-list table tr td + td {
          padding-left: 0; } }

.hny .gform_delete {
  margin-right: 1rem; }

.hny .grecaptcha-badge {
  z-index: 9999999; }

html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  border: 1px solid transparent;
  border-radius: 0.35rem;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
    outline: 0; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:focus, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:focus {
    background-color: #023c21;
    color: #fefefe; }

html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper {
  font-size: 125%;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }
  html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper ~ p {
    font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gform_save_link.button,
html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  color: #03502C; }
  html .gform_wrapper.gravity-theme .gform_save_link.button:focus,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:focus, html .gform_wrapper.gravity-theme .gform_save_link.button:hover,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:hover {
    color: #024023; }

html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button,
html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  order: 1;
  height: auto;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  line-height: 1.5;
  text-decoration: underline; }
  html .gform_wrapper.gravity-theme .gform_save_link:before, html .gform_wrapper.gravity-theme .gform_save_link:after, html .gform_wrapper.gravity-theme .gform_save_link.button:before,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:before, html .gform_wrapper.gravity-theme .gform_save_link.button:after,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:after {
    content: none; }
  html .gform_wrapper.gravity-theme .gform_save_link svg, html .gform_wrapper.gravity-theme .gform_save_link.button svg, html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit svg {
    display: none; }
  @media print, screen and (max-width: 39.99875em) {
    html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button,
    html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
      flex: 1 0 auto;
      order: 100;
      width: 100%;
      margin: 0.5rem 0 0;
      font-size: 0.75rem; } }

html .gform_wrapper.gravity-theme .gfield_signature_container {
  width: 100vw !important; }
  html .gform_wrapper.gravity-theme .gfield_signature_container + div {
    visibility: hidden !important;
    position: absolute !important; }

html .gform_wrapper.gravity-theme .gform_validation_errors {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem; }
  html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    margin: 0;
    color: #cc4b37;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5;
    font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    letter-spacing: inherit;
    text-transform: none; }
    html .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon {
      display: none; }
  html .gform_wrapper.gravity-theme .gform_validation_errors, html .gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: none; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  margin-top: 0.5rem;
  padding: 0.5rem; }

html .gform_wrapper.gravity-theme .gform_validation_errors,
html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  border: 0;
  border-radius: 0.35rem;
  background: #fbf1ef;
  box-shadow: none;
  color: #cc4b37;
  font-weight: normal;
  letter-spacing: inherit; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .gfield_validation_message,
html .gform_wrapper.gravity-theme .description,
html .gform_wrapper.gravity-theme .gfield_description,
html .gform_wrapper.gravity-theme .instruction {
  font-size: 0.8125rem; }

html .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
html .gform_wrapper.gravity-theme .gfield_error label,
html .gform_wrapper.gravity-theme .gfield_error legend {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border-color: #cc4b37; }

html .gform_wrapper.gravity-theme [aria-invalid="true"] + label,
html .gform_wrapper.gravity-theme label + [aria-invalid="true"] {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield select {
  padding-right: 1.5rem; }

html .gform_wrapper.gravity-theme .gfield--type-choice:not(.gf_list_inline) .gchoice + .gchoice {
  margin-top: 0.5rem; }

html .gform_wrapper.gravity-theme .gfield.field_sublabel_above .ginput_complex label {
  padding-top: 0;
  padding-bottom: 0.25rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_complex label {
  padding-top: 0.25rem;
  font-weight: normal;
  font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gfield .gfield_label {
  margin-bottom: 0.25rem;
  color: #1a1a1a;
  font-weight: normal;
  font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_container_consent,
html .gform_wrapper.gravity-theme .gfield .gchoice {
  display: flex;
  align-items: baseline; }
  html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input,
  html .gform_wrapper.gravity-theme .gfield .gchoice input {
    margin: 0 0.5em 0 0; }
    html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input + label,
    html .gform_wrapper.gravity-theme .gfield .gchoice input + label {
      max-width: none;
      margin-right: 0;
      margin-left: 0;
      font-weight: normal;
      font-size: 0.875rem;
      line-height: 1.5; }

html .gform_wrapper.gravity-theme .gform_footer,
html .gform_wrapper.gravity-theme .gform_page_footer {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  margin-top: 0;
  padding: 0; }
  html .gform_wrapper.gravity-theme .gform_footer .button,
  html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit,
  html .gform_wrapper.gravity-theme .gform_page_footer .button,
  html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit {
    margin-bottom: 0;
    white-space: nowrap; }
    @media print, screen and (min-width: 40em) {
      html .gform_wrapper.gravity-theme .gform_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:first-child.gform_next_button {
        margin-left: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:not(.gform_save_link) {
      flex: 1 1; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:not(.gform_save_link) {
          flex: 0 1 auto; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_button#gdpr-submit, html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit {
      margin-right: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit[type="submit"] {
      order: 3; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"] + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .button[type="submit"] + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit[type="submit"] + .gform_save_link {
          margin-right: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit {
      order: 2; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit + .gform_save_link {
        margin-left: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit {
      order: -1;
      margin-right: auto;
      margin-bottom: 0; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit ~ .gform_next_button {
        margin-left: 0.5rem; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit ~ .gform_save_link {
        margin-left: auto; }

html .gform_wrapper.gravity-theme .gform-loader {
  margin-right: 0.5rem; }

.grid-container--full {
  max-width: none;
  padding: 0; }

.grid-container--narrow {
  max-width: 933.33333px; }

.grid-container--slim {
  max-width: 767px; }

.grid-container--wide {
  max-width: none; }

.hny .grid-container .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .hny .grid-container .grid-padding-x--small {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
    .hny .grid-container .grid-padding-x--small > .cell {
      padding-right: 0.75rem;
      padding-left: 0.75rem; }
  @media print, screen and (min-width: 80em) {
    .hny .grid-container .grid-padding-x--large {
      margin-right: -3rem;
      margin-left: -3rem; }
      .hny .grid-container .grid-padding-x--large > .cell {
        padding-right: 3rem;
        padding-left: 3rem; } }

.cell--flex {
  display: flex; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #03502C;
  font-weight: bold;
  letter-spacing: 0.041em;
  text-transform: uppercase; }

h1 .heading__subheading,
h2 .heading__subheading,
h5 .heading__subheading {
  display: block;
  color: #8a8a8a;
  font-style: italic;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none; }

h1 {
  line-height: 1.1; }
  h1 .heading__subheading {
    font-size: 0.5em; }

h2 .heading__subheading {
  font-size: 0.75em;
  line-height: 1.4; }

h5 {
  color: #46954C;
  letter-spacing: 0.1em; }
  h5 .heading__subheading {
    font-size: 0.895em; }

h6 {
  letter-spacing: 0;
  text-transform: none; }

.heading__preheading {
  display: block;
  margin-bottom: 1rem;
  color: currentColor;
  font-weight: normal;
  font-size: 0.75em;
  text-transform: uppercase; }

h4.heading .heading__preheading {
  margin-bottom: 0;
  font-weight: bold; }

.hny-svg {
  fill: currentColor;
  display: inline-block;
  width: 0.8em;
  height: 1em;
  vertical-align: middle; }
  .hny-svg path {
    fill: currentColor; }

.l-hero {
  overflow: hidden; }

.l-main {
  overflow: hidden; }
  .is-checkout .l-main,
  .content-centered .l-main {
    display: flex;
    flex-grow: 1;
    flex-direction: column; }

.l-container {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .l-container--large {
    padding-top: 5rem;
    padding-bottom: 5rem; }
    .hero--landing .l-container--large {
      padding-top: 7rem; }
  .l-container--xlarge {
    padding-top: 10rem;
    padding-bottom: 10rem; }

.l-footer {
  margin-top: auto; }
  .l-footer .product-categories {
    z-index: 5;
    position: relative; }
    .l-footer .product-categories .cell:last-child .product-categories__item {
      margin-bottom: -50%; }
    @media print, screen and (min-width: 40em) {
      .l-footer .product-categories .cell:nth-last-child(2) .product-categories__item {
        margin-bottom: -50%; } }
    @media print, screen and (min-width: 64em) {
      .l-footer .product-categories__item {
        margin-bottom: -50%; } }
    .l-footer .product-categories + .site-footer {
      padding-top: 6rem; }

.is-checkout .page-content,
.content-centered .page-content {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  overflow: hidden; }

.content-centered.error404 .page-content {
  justify-content: center; }

.content-centered .page-content .checkout, .content-centered
.page-content .four-oh-four, .content-centered
.page-content .content-blocks {
  flex: 0 1 auto;
  margin-top: auto;
  margin-bottom: auto; }

.pagination__wrapper {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  text-align: center; }

.pagination ul {
  display: flex;
  align-items: center;
  margin: 3rem 0; }
  .pagination ul li {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
    .pagination ul li a,
    .pagination ul li span {
      display: block;
      padding: 0 12px;
      font-weight: normal; }
      .pagination ul li a.next .hny-svg, .pagination ul li a.prev .hny-svg,
      .pagination ul li span.next .hny-svg,
      .pagination ul li span.prev .hny-svg {
        fill: #484848; }
      .pagination ul li a.next:focus .hny-svg, .pagination ul li a.next:hover .hny-svg, .pagination ul li a.prev:focus .hny-svg, .pagination ul li a.prev:hover .hny-svg,
      .pagination ul li span.next:focus .hny-svg,
      .pagination ul li span.next:hover .hny-svg,
      .pagination ul li span.prev:focus .hny-svg,
      .pagination ul li span.prev:hover .hny-svg {
        fill: #03502C; }
      .pagination ul li a.current,
      .pagination ul li span.current {
        position: relative;
        color: #fefefe;
        font-weight: bold; }
        .pagination ul li a.current:after,
        .pagination ul li span.current:after {
          display: block;
          z-index: -1;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          padding-bottom: 100%;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          border: 2px solid #fefefe;
          border-radius: 0.35rem;
          background: #03502C;
          box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
          content: ''; }
    .pagination ul li.pagination-previous > a, .pagination ul li.pagination-next > a {
      margin: 0;
      font-weight: bold;
      font-size: 0.6875rem;
      text-transform: uppercase; }

.reveal {
  outline: none;
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      padding-top: 4rem;
      padding-right: 1.5rem;
      padding-bottom: 1.5rem;
      padding-left: 1.5rem; } }
  .reveal .grid-container {
    padding-right: 0;
    padding-left: 0; }
  .reveal .close-button {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: #03502C; }
    .reveal .close-button .hny-svg {
      width: 32px;
      height: 32px; }
  .reveal .close-link {
    margin-top: 0.25rem;
    text-align: center; }
    .reveal .close-link button {
      color: #407636;
      text-decoration: underline; }
      .reveal .close-link button:focus, .reveal .close-link button:hover {
        color: #484848; }
  .reveal__cart {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-top: 1.5rem;
    padding: 1.5rem;
    border-radius: 0.35rem;
    background: #efefef; }
    @media print, screen and (min-width: 64em) {
      .reveal__cart {
        margin-top: 0; } }
    .reveal__cart .hny-cart__item {
      margin-right: -1.5rem;
      margin-left: -1.5rem;
      padding-right: 1.5rem;
      padding-left: 1.5rem; }

.slbElement * {
  color: currentColor; }

.slbOverlay {
  background-color: rgba(254, 254, 254, 0.9);
  color: #484848;
  opacity: 1; }

.slbImageWrap:after {
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }

.slbArrow {
  width: 50px;
  height: 50px;
  margin: 0 0.5rem 0 0;
  overflow: hidden;
  border: 2px solid #fefefe;
  border-radius: 0.35rem;
  background: #03502C;
  box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  opacity: 1;
  transition: all 0.2s ease-in-out; }
  .slbArrow:before {
    position: absolute;
    top: 50%;
    left: 40%;
    width: 40%;
    height: 40%;
    margin: 0;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
    border: 0;
    border-top: 3px solid white;
    border-right: 3px solid white;
    content: ''; }
  .slbArrow.prev {
    margin-right: 0;
    margin-left: 0.5rem; }
    .slbArrow.prev:before {
      -webkit-transform: translate3d(0, -50%, 0) rotate(-135deg);
              transform: translate3d(0, -50%, 0) rotate(-135deg); }
  .slbArrow:hover, .slbArrow:focus {
    border-color: #efefef;
    background: #fefefe;
    opacity: 1; }
    .slbArrow:hover:before, .slbArrow:focus:before {
      border-color: #03502C; }

.slick-slider,
.slick-slider * {
  outline: none !important; }

[data-slick-slider] [data-slick-slide]:not(:first-child) {
  display: none; }

[data-slick-slider].slick-initialized [data-slick-slide] {
  display: block; }

[data-slick-slider].slick-initialized + .loader {
  display: none; }

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  border: none;
  background: transparent;
  text-indent: -9999px;
  cursor: pointer;
  transition: all 0.2s ease-in-out; }
  .slick-arrow, .slick-arrow:focus, .slick-arrow:hover {
    box-shadow: none; }
  .slick-arrow svg {
    fill: #03502C; }
  .slick-arrow.slick-disabled {
    visibility: hidden;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }

.slick-prev {
  left: -0.25rem; }

.slick-next {
  right: -0.25rem; }

.jq-toast-single {
  padding: 0;
  overflow: hidden;
  border-radius: 0.35rem;
  background: none;
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08);
  font-size: 0.875rem;
  line-height: 1.5; }
  .jq-toast-single .hny-notice {
    padding: 1.5rem; }
    .jq-toast-single .hny-notice--success {
      background: rgba(70, 149, 76, 0.9); }
    .jq-toast-single .hny-notice--error {
      background: rgba(204, 75, 55, 0.9); }

.hny-message {
  padding: 1.5rem;
  overflow: hidden;
  border-radius: 0.35rem;
  background: rgba(70, 149, 76, 0.9);
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08);
  color: #fefefe;
  font-size: 0.875rem;
  line-height: 1.5; }
  .hny-message a, .hny-message a:focus, .hny-message a:hover {
    color: #fefefe;
    text-decoration: underline; }

.wysiwyg img {
  max-width: 100%;
  height: auto; }

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  display: block;
  clear: both; }

.wysiwyg .alignleft {
  margin: 0.5rem 1rem 0.5rem 0;
  float: left; }

.wysiwyg .aligncenter {
  display: block;
  margin: 10px auto; }

.wysiwyg .alignright {
  margin: 0.5rem 0 0.5rem 1rem;
  float: right; }

.wysiwyg .alignnone {
  display: block;
  margin: 0.5rem 0; }

.wysiwyg .gallery {
  overflow: hidden; }
  .wysiwyg .gallery .gallery-item {
    width: 0.166666667%;
    margin: 0 0 2%; }
    .wysiwyg .gallery .gallery-item a {
      display: block; }
      .wysiwyg .gallery .gallery-item a img {
        display: block; }

.wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) {
  margin-left: 0;
  list-style: none; }
  .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li {
    position: relative;
    padding-left: 1rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li + li {
      margin-top: 0.5rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li:before {
      position: absolute;
      top: 0;
      left: 0;
      width: 10px;
      height: 10px;
      margin-top: 0.4em;
      border-radius: 3px;
      background: #407636;
      content: ''; }
  .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul {
    margin-top: 0.25rem;
    margin-left: 1rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul li {
      padding-left: 1.5rem; }
      .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul li:before {
        position: absolute;
        top: 11px;
        left: 0;
        width: 1rem;
        height: 1px;
        margin-top: 0;
        background: #89939B;
        content: ''; }

.wysiwyg .wp-caption > figcaption {
  max-width: 100%;
  padding: 0.25rem 0;
  color: #8a8a8a;
  font-size: 0.8rem; }

.wysiwyg p.wp-caption-text {
  padding: 0.625rem 0;
  color: #8a8a8a;
  font-size: 90%; }

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

@media print, screen and (min-width: 40em) {
  .article {
    position: relative;
    min-height: 150px;
    padding-left: calc(150px + 1.5rem); } }

.article__thumbnail {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .article__thumbnail {
      position: absolute;
      top: 0;
      left: 0;
      width: 150px;
      height: 150px;
      margin: 0; } }

.back-to-top {
  display: inline-block;
  visibility: hidden;
  z-index: 1999;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 40px;
  height: 40px;
  overflow: hidden;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  border: 2px solid #fefefe;
  border-radius: 0.35rem;
  background: #03502C;
  box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  color: #fefefe;
  line-height: 45px;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transition: all 0.2s ease-in-out; }
  @media print, screen and (min-width: 64em) {
    .back-to-top {
      right: 1rem;
      bottom: 1rem;
      width: 50px;
      height: 50px; } }
  .back-to-top:hover, .back-to-top:focus {
    border-color: #efefef;
    background: #fefefe; }
    .back-to-top:hover .hny-svg, .back-to-top:focus .hny-svg {
      fill: #03502C; }
  .back-to-top .hny-svg {
    fill: #fefefe;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -14px 0 0 -13px; }
  .back-to-top.is-visible {
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }

.brochures__item {
  display: block;
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px solid #efefef;
  background: #fefefe; }
  .brochures__item figure {
    padding-bottom: 150%; }
  .brochures__item > span {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem; }
    .brochures__item > span > span {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.5rem 1rem;
      background: rgba(26, 26, 26, 0.8);
      color: #fefefe;
      font-weight: bold;
      font-size: 0.75rem;
      text-transform: uppercase; }
      .brochures__item > span > span .hny-svg {
        width: 1.25em;
        height: 1.25em;
        margin-right: 0.5rem; }

.calculators {
  position: relative; }
  .calculators__units {
    display: inline-flex;
    margin-top: 0.75rem;
    overflow: hidden;
    border: 2px solid #fefefe;
    border-radius: 0.35rem;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
    @media print, screen and (min-width: 40em) {
      .calculators__units {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0; } }
    .calculators__units .button,
    .calculators__units #gdpr-submit {
      border: 0;
      box-shadow: none; }
      @media print, screen and (max-width: 79.99875em) {
        .calculators__units .button,
        .calculators__units #gdpr-submit {
          padding: 0.75em 1em;
          font-size: 0.625rem; } }
      .calculators__units .button.disabled,
      .calculators__units .disabled#gdpr-submit {
        cursor: pointer; }
      .calculators__units .button:first-child,
      .calculators__units #gdpr-submit:first-child {
        border-right: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
      .calculators__units .button:nth-child(2),
      .calculators__units #gdpr-submit:nth-child(2) {
        border-left: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
  .calculators__notice p {
    font-size: 0.875rem; }
    .calculators__notice p + p {
      margin-top: 0.75rem; }
  .calculators__options {
    display: flex;
    flex-flow: row wrap;
    margin: 0.5rem 0 0; }
    .calculators__options label {
      margin-right: 1rem; }
      .calculators__options label:last-child {
        margin-right: 0; }
  .calculators p,
  .calculators .heading {
    margin-bottom: 0; }
  .calculators__utility {
    margin-top: 1.5rem; }

.calculator {
  margin-top: 1.5rem; }
  .calculator + * {
    margin-top: 1.5rem; }
  .calculator em {
    font-size: 0.75rem; }
  .calculator__form {
    margin-top: 0.5rem; }
    .calculator__form .button,
    .calculator__form #gdpr-submit {
      margin-top: 0.5rem; }
      @media print, screen and (min-width: 40em) {
        .calculator__form .button,
        .calculator__form #gdpr-submit {
          margin-top: 0; } }
    @media print, screen and (max-width: 39.99875em) {
      .calculator__form {
        padding-bottom: 0 !important; } }
    @media print, screen and (min-width: 40em) {
      .calculator__form {
        display: flex;
        flex-flow: row nowrap; } }
    .calculator__form > div {
      display: flex;
      flex-flow: row nowrap; }
    .calculator__form label {
      position: relative;
      flex: 1 1;
      justify-content: center;
      margin-right: 0.5rem;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .calculator__form label {
          display: flex; } }
      .calculator__form label input,
      .calculator__form label select {
        flex: 1 0 auto;
        height: auto;
        margin: 0; }
      .calculator__form label span {
        display: block;
        width: 100%;
        padding: 0.25rem 0.5rem 0;
        font-size: 0.75rem;
        text-align: center; }
        @media print, screen and (min-width: 40em) {
          .calculator__form label span {
            position: absolute;
            top: 100%;
            left: 0; } }
  .calculator__label--has-error input {
    border-color: #cc4b37; }
  .calculator__totals {
    display: none;
    margin-top: 1.5rem; }
  .calculator__placeholder {
    display: inline-block;
    min-width: 100px;
    height: 35px;
    padding: 0.25rem;
    border-bottom: 1px solid #484848;
    font-weight: bold;
    line-height: 35px;
    text-align: center; }
    .calculator__placeholder + .calculator__placeholder {
      margin-left: 0.5rem; }
  .calculator__error {
    color: #cc4b37; }
  .calculator button + button {
    margin-left: 0.5rem; }

.card {
  margin-bottom: 1.5rem; }
  .card--box {
    padding: 1.5rem;
    border-radius: 0.35rem;
    background: #fefefe;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
    @media print, screen and (min-width: 48.875em) {
      .card--box {
        padding: 3rem; } }
    .card--box [type='submit'] {
      width: 100%; }
  .card--product {
    display: flex;
    position: relative;
    flex: 1 0 auto;
    flex-direction: column;
    width: calc(100% + 1.5rem);
    max-width: calc(100% + 1.5rem);
    margin-top: -0.75rem;
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    padding: 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.35rem;
    text-align: center; }
    .card--product:hover {
      border-color: #89939B;
      background: rgba(254, 254, 254, 0.7);
      color: #407636; }
  .card .heading {
    margin-bottom: 0;
    color: currentColor; }
  .card__content p {
    margin: 0;
    color: #89939B;
    font-style: italic;
    font-weight: normal;
    font-size: 0.875rem; }
  .card__price {
    margin-top: auto;
    padding-top: 0.5rem; }
    @media print, screen and (max-width: 63.99875em) {
      .card__price {
        font-size: 0.875rem; } }
  .card__photo {
    margin-bottom: 1rem;
    padding: 0.5rem;
    box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
    .card__photo > div {
      position: relative; }
    .card__photo figure {
      background-color: #fefefe; }
      .card__photo figure + figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
        .card__photo figure + figure:before {
          content: none; }
      .card__photo figure:before {
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 100%;
        content: ''; }

.career {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5); }
  .career + .career {
    margin-top: 0.5rem; }
  .career__title {
    flex: 1;
    margin-bottom: 0;
    padding-right: 1.5rem; }
    .career__title span {
      display: block;
      font-size: 0.75rem; }
  @media print, screen and (max-width: 63.99875em) {
    .career__button .button,
    .career__button #gdpr-submit {
      padding: 0.5em; }
      .career__button .button span, .career__button #gdpr-submit span {
        display: none; }
        .career__button .button span + .hny-svg, .career__button #gdpr-submit span + .hny-svg {
          margin: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .career__button {
      padding-left: 0.75rem; } }
  .career__button .button,
  .career__button #gdpr-submit {
    box-shadow: none; }
    @media print, screen and (min-width: 48.875em) {
      .career__button .button,
      .career__button #gdpr-submit {
        padding: 0.75em 1.5em;
        font-size: 0.6875rem; } }

.careers__heading {
  margin-bottom: 0.5rem;
  color: inherit; }

.careers__block {
  color: #03502C; }
  .careers__block + .careers__block {
    margin-top: 1.5rem; }
  .careers__block a {
    color: #03502C; }
    .careers__block a:focus, .careers__block a:hover {
      color: #484848; }

.checklist {
  margin: 0;
  list-style: none; }
  .checklist--two-column {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
    .checklist--two-column li {
      -webkit-column-break-inside: avoid;
      -moz-column-break-inside: avoid;
           break-inside: avoid;
      page-break-inside: avoid;
      will-change: transform; }
  .checklist li {
    position: relative;
    padding-left: calc(20px + 0.5rem); }
    .checklist li + li {
      margin-top: 0.75rem; }
    .checklist li .hny-svg {
      fill: #03502C;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px; }
      .checklist li .hny-svg--warning {
        fill: #ffae00; }

@media print, screen and (min-width: 48.875em) {
  .checkout {
    position: relative;
    flex: 1 0 auto; } }

@media print, screen and (min-width: 48.875em) {
  .checkout__form {
    padding-right: 5rem; } }

.checkout__form button[type='submit'] {
  justify-content: center;
  width: 100%; }

.checkout__box {
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 48.875em) {
    .checkout__box {
      display: flex;
      position: static;
      flex: 1 0 auto;
      flex-direction: column;
      max-width: 100%; }
      .checkout__box > div {
        flex: 1 0 auto;
        width: 100%;
        max-width: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .checkout__box > div {
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .checkout__box > div {
      padding-left: 5rem; } }
  .checkout__box:after {
    z-index: -1;
    position: absolute;
    top: 0;
    right: -1.5rem;
    left: -1.5rem;
    height: 100%;
    background: #fefefe;
    content: ''; }
    @media print, screen and (min-width: 48.875em) {
      .checkout__box:after {
        right: auto;
        left: 50%;
        width: 50vw; } }

.checkout .site-search {
  margin-bottom: 0.5rem; }

.colophon {
  z-index: 3;
  position: relative;
  text-align: center;
  opacity: 0.7; }
  .colophon p {
    margin-bottom: 0; }
  .colophon a {
    display: inline-block;
    padding: 0.25rem; }
    @media print, screen and (min-width: 64em) {
      .colophon a {
        display: block;
        padding: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .colophon {
      display: flex;
      align-items: center;
      justify-content: space-between;
      text-align: inherit; } }
  @media print, screen and (min-width: 64em) {
    .colophon__legalese {
      display: flex;
      flex-flow: row nowrap; } }
  @media print, screen and (min-width: 64em) {
    .colophon .legal-nav {
      margin-left: 0.5rem; } }
  .colophon .legal-nav__items {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 0;
    list-style: none; }
    @media print, screen and (min-width: 48.875em) {
      .colophon .legal-nav__items {
        justify-content: flex-start; } }
  .colophon .legal-nav__item + .legal-nav__item {
    margin-left: 0.5rem; }

.contact-list {
  margin: 0;
  list-style: none; }
  .contact-list--centered .contact-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; }
    .contact-list--centered .contact-list__item .hny-svg {
      position: static;
      margin-right: 1rem; }
  .contact-list p {
    margin-bottom: 0; }
  .contact-list__item {
    position: relative;
    padding-left: calc(2.25rem + 1rem); }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .l-header .contact-list__item {
    padding-left: calc(1rem + 0.5rem); } }
    .contact-list__item--no-icon {
      padding-left: 0; }
    .contact-list__item + li {
      margin-top: 0.5rem; }
    .contact-list__item .hny-svg {
      position: absolute;
      top: 3px;
      left: 0;
      width: 2.25rem;
      height: 2.25rem;
      color: currentColor; }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .l-header .contact-list__item .hny-svg {
    width: 1rem;
    height: 1rem; } }
  .contact-list ul {
    display: table;
    width: 100%;
    margin: 0;
    list-style: none; }
    .contact-list ul > li {
      display: table-row; }
      .contact-list ul > li > span,
      .contact-list ul > li > strong {
        display: table-cell;
        vertical-align: middle; }
      .contact-list ul > li > strong {
        padding-left: 0.75rem;
        font-size: 1.125em;
        text-align: right;
        text-transform: uppercase; }
  .contact-list--phone-number > li a {
    font-size: 1.5em; }
  .contact-list--phone-numbers ul li strong {
    text-align: left; }
  .contact-list--phone-numbers ul li:first-child a {
    color: #fefefe;
    font-size: 1.25em; }
  .contact-list + .contact-list {
    margin-top: 1.5rem; }

.content-block:not(.content-block--no-spacing):not(.content-block--background) + .content-block:not(.content-block--no-spacing):not(.content-block--background) .l-container {
  padding-top: 0; }

.content-block--no-spacing .l-container {
  padding-top: 0;
  padding-bottom: 0; }

.content-block--background--white {
  background-color: #fefefe; }

.content-block--centered {
  text-align: center; }

.content-block__container {
  position: relative; }

.content-block__wrapper {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  max-width: 100%; }

.content-block__content {
  flex-shrink: 0; }

.content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
  margin-top: 1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
      margin-top: 0; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--three-column .grid-x, .content-block__layout--four-column .grid-x, .content-block__layout--five-column .grid-x {
    justify-content: center; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--two-column .cell:nth-child(2n+3), .content-block__layout--two-column .cell:nth-child(2n+4) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--three-column .cell:nth-child(6n+4), .content-block__layout--three-column .cell:nth-child(6n+5), .content-block__layout--three-column .cell:nth-child(6n+6) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--four-column .cell:nth-child(8n+5), .content-block__layout--four-column .cell:nth-child(8n+6), .content-block__layout--four-column .cell:nth-child(8n+7), .content-block__layout--four-column .cell:nth-child(8n+8) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--five-column .cell:nth-child(10n+6), .content-block__layout--five-column .cell:nth-child(10n+7), .content-block__layout--five-column .cell:nth-child(10n+8), .content-block__layout--five-column .cell:nth-child(10n+9), .content-block__layout--five-column .cell:nth-child(10n+10) {
    margin-top: 1.5rem; } }

.content-block__header {
  max-width: 1000px;
  margin-right: auto;
  margin-bottom: 1.5rem;
  margin-left: auto; }
  @media print, screen and (min-width: 64em) {
    .content-block__header {
      margin-bottom: 3rem; } }
  .content-block__header .heading {
    margin-bottom: 0; }
  .content-block__header--centered {
    text-align: center; }

@media screen and (min-width: 103.125em) {
  .content-block--centered .content-block__layout--two-column .content-block__column {
    max-width: 75%;
    margin: 0 auto; } }

.content-block__module:not(.content-block__module--heading) + .content-block__module {
  margin-top: 1.25rem; }

.content-block__module {
  flex-shrink: 0; }

.content-block__column {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  max-width: 100%; }

.content-block__modules {
  -ms-flex-negative: 0;
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  flex-direction: column; }
  .content-block__modules .content-block__module:last-child.content-block__module--price, .content-block__modules .content-block__module:last-child.content-block__module--button {
    margin-top: auto; }

.content-block img.tractor-truck {
  margin-bottom: -3rem; }
  @media screen and (min-width: 103.125em) {
    .content-block img.tractor-truck {
      width: 125%;
      max-width: none;
      margin-bottom: -6rem;
      margin-left: -25%; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:first-child {
    flex: 0 0 100%;
    max-width: 100%; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:nth-child(2), .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:nth-child(3) {
    flex: 0 0 50%;
    max-width: 50%; } }

.faq-list {
  position: relative; }
  .faq-list__wrapper {
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .faq-list__wrapper {
        display: flex;
        flex-flow: row nowrap; } }
  .faq-list__listing {
    padding-bottom: 3rem; }
    @media print, screen and (min-width: 40em) {
      .faq-list__listing {
        flex: 1 1; } }
  @media print, screen and (min-width: 40em) {
    .faq-list__group__wrapper {
      padding-right: 2.1875rem; } }
  @media print, screen and (min-width: 64em) {
    .faq-list__group__wrapper {
      padding-right: 4.375rem; } }
  .faq-list__group + .faq-list__group .faq-list__group__inner {
    margin-top: 3rem; }
  .faq-list__sidebar {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .faq-list__sidebar {
        display: block;
        flex: 0 1 auto; } }
    .faq-list__sidebar__inner > div {
      overflow: hidden; }
    .faq-list__sidebar ul {
      margin: 0;
      list-style: none; }
    .faq-list__sidebar li + li {
      margin-top: 0.5rem; }
    .faq-list__sidebar li > a {
      display: block;
      position: relative;
      padding: 0.25rem 0 0 1.5em;
      font-size: 1.125rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      white-space: nowrap; }
      .faq-list__sidebar li > a:before {
        position: absolute;
        top: 50%;
        left: 0;
        width: 0.75em;
        height: 0.75em;
        margin-top: -0.3em;
        background: currentColor;
        content: ''; }
      @media print, screen and (min-width: 40em) and (max-width: 48.87375em) {
        .faq-list__sidebar li > a {
          font-size: 0.875rem; } }
    .faq-list__sidebar li.is-active > a {
      color: #46954C; }
  .faq-list__items {
    margin: 0;
    list-style: none; }
    .faq-list__items li {
      position: relative;
      padding: 2rem 2rem 2rem 5rem;
      overflow: hidden;
      border-radius: 0.35rem;
      background: rgba(254, 254, 254, 0.7); }
      @media print, screen and (max-width: 39.99875em) {
        .faq-list__items li {
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 40em) {
        .faq-list__items li {
          padding-right: 3rem; } }
      .faq-list__items li:before {
        z-index: 5;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1.5rem;
        background-image: linear-gradient(0deg, rgba(254, 254, 254, 0), rgba(254, 254, 254, 0.5) 100%);
        content: ''; }
      .faq-list__items li + li {
        margin-top: 1.5rem; }
    .faq-list__items p:last-child {
      margin-bottom: 0; }
  .faq-list__question {
    position: relative;
    margin-bottom: 2rem; }
    .faq-list__question:before {
      z-index: 1;
      position: absolute;
      top: -2rem;
      left: -5rem;
      width: 6rem;
      height: 10rem;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: top right;
              transform-origin: top right;
      background: #46954C;
      content: ''; }
    .faq-list__question:after {
      display: flex;
      z-index: 2;
      position: absolute;
      top: -2rem;
      left: -5rem;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      content: 'Q';
      color: #fefefe;
      text-shadow: 0 0 10px rgba(26, 26, 26, 0.1); }
  .faq-list__question:after, .faq-list__answer:after {
    font-weight: bold;
    font-size: 1.5rem; }
  .faq-list__answer {
    position: relative; }
    .faq-list__answer:after {
      display: flex;
      z-index: 2;
      position: absolute;
      top: 0;
      left: -5rem;
      align-items: center;
      justify-content: center;
      width: 4rem;
      content: 'A';
      color: #46954C; }

/*
  Shuffle needs either relative or absolute positioning on the container
  It will set it for you, but it'll cause another style recalculation and layout.
  AKA worse performance - so just set it here
 */
.gallery__grid {
  position: relative;
  max-width: calc(100% + 0.75rem); }
  @media print, screen and (min-width: 40em) {
    .gallery__grid .medium-3 {
      width: calc(25% - 0.1875rem); } }

.gallery__filters {
  display: flex;
  flex-flow: row wrap; }
  .gallery__filters .button,
  .gallery__filters #gdpr-submit {
    margin-right: 0.35rem;
    margin-bottom: 0.35rem; }

.gallery__sizer {
  visibility: hidden;
  position: absolute;
  opacity: 0; }

.gallery__item > div {
  position: relative;
  width: 100%; }

.gallery__item.square > div {
  padding-bottom: 100%; }

@media print, screen and (min-width: 40em) {
  .gallery__item.square.medium-3 > div {
    padding-bottom: calc(100% + 0.9375rem); } }

.gallery__item.half > div {
  padding-bottom: 50%; }

.gallery__link {
  display: block;
  position: absolute;
  top: 2rem;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  border-radius: 0.35rem;
  background-color: rgba(239, 239, 239, 0.5); }
  .gallery__link .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    color: #fefefe;
    opacity: 0.5;
    transition: all 0.2s ease-in-out; }

.gallery figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.gallery__content {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 33.33333%;
  max-width: 66.66667%;
  padding: 1.5rem 1.5rem 0.75rem;
  border-top-left-radius: 0.35rem;
  background: #fefefe; }
  .gallery__content .heading {
    margin-bottom: 0;
    color: #89939B;
    text-transform: none; }
    .gallery__content .heading__subheading {
      display: block;
      margin-top: 0.25rem;
      color: #03502C;
      font-style: italic;
      font-weight: normal;
      font-size: 0.75em;
      letter-spacing: 0; }

@media print, screen and (min-width: 64em) {
  .gdpr__grid {
    display: flex;
    flex-flow: row wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem; } }

.gdpr__box + .gdpr__box {
  margin-top: 1rem; }

@media only screen and (min-width: 40.0625em) {
  .gdpr__box {
    display: flex;
    flex: 1 1;
    padding: 0 0.5rem; }
    .gdpr__box + .gdpr__box {
      margin-top: 0; } }

.gdpr__box > a {
  display: flex;
  position: relative;
  flex: 1 1;
  flex-flow: column wrap;
  padding: 2rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5);
  color: #484848;
  font-weight: normal;
  font-size: 0.875rem;
  text-align: center; }
  .gdpr__box > a svg {
    fill: #03502C;
    margin: 0 auto 1rem; }
  .gdpr__box > a:focus, .gdpr__box > a:hover {
    background: #fefefe;
    color: #03502C; }

#cookie-law-info-bar {
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }

.gdpr-framework-privacy-tools {
  text-align: center; }
  .gdpr-framework-privacy-tools h2,
  .gdpr-framework-privacy-tools h3 {
    font-size: 2rem; }
  .gdpr-framework-privacy-tools .gdpr-notice + h3 {
    display: none; }
    .gdpr-framework-privacy-tools .gdpr-notice + h3 + form {
      display: none; }

.gdpr-framework-privacy-tools .button,
.gdpr-framework-privacy-tools #gdpr-submit,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  -webkit-transform: none;
          transform: none;
  border: 1px solid transparent;
  border: 3px solid #fefefe;
  border-radius: 0.35rem;
  background: none;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] .gdpr-framework-privacy-tools .button,
  [data-whatinput='mouse'] .gdpr-framework-privacy-tools #gdpr-submit, [data-whatinput='mouse']
  #gdpr-submit {
    outline: 0; }
  .gdpr-framework-privacy-tools .button,
  .gdpr-framework-privacy-tools #gdpr-submit, .gdpr-framework-privacy-tools .disabled.button,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit, .gdpr-framework-privacy-tools .button[disabled],
  .gdpr-framework-privacy-tools #gdpr-submit[disabled], .gdpr-framework-privacy-tools .disabled.button:hover,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit:hover, .gdpr-framework-privacy-tools .button[disabled]:hover,
  .gdpr-framework-privacy-tools #gdpr-submit[disabled]:hover, .gdpr-framework-privacy-tools .disabled.button:focus,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit:focus, .gdpr-framework-privacy-tools .button[disabled]:focus,
  .gdpr-framework-privacy-tools #gdpr-submit[disabled]:focus,
  #gdpr-submit,
  #gdpr-submit.disabled,
  #gdpr-submit[disabled],
  #gdpr-submit.disabled:hover,
  #gdpr-submit[disabled]:hover,
  #gdpr-submit.disabled:focus,
  #gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:hover,
  .gdpr-framework-privacy-tools #gdpr-submit:hover, .gdpr-framework-privacy-tools .button:focus,
  .gdpr-framework-privacy-tools #gdpr-submit:focus,
  #gdpr-submit:hover,
  #gdpr-submit:focus {
    background-color: #023c21;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:focus,
  .gdpr-framework-privacy-tools #gdpr-submit:focus, .gdpr-framework-privacy-tools .button:hover,
  .gdpr-framework-privacy-tools #gdpr-submit:hover,
  #gdpr-submit:focus,
  #gdpr-submit:hover {
    -webkit-transform: none;
            transform: none;
    background: #fefefe;
    color: #1a1a1a; }
  .gdpr-framework-privacy-tools .button:before,
  .gdpr-framework-privacy-tools #gdpr-submit:before, .gdpr-framework-privacy-tools .button:after,
  .gdpr-framework-privacy-tools #gdpr-submit:after,
  #gdpr-submit:before,
  #gdpr-submit:after {
    content: none; }

.hny .cookielawinfo-row-cat-table {
  width: 100%;
  margin-left: 0;
  border: 0; }
  .hny .cookielawinfo-row-cat-table tbody {
    border: 0; }
  .hny .cookielawinfo-row-cat-table thead {
    background: #03502C;
    color: #fefefe; }
  .hny .cookielawinfo-row-cat-table th,
  .hny .cookielawinfo-row-cat-table td {
    border-color: #fefefe; }

.global-alert {
  z-index: 99998;
  position: relative;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: #cc4b37;
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  color: #fefefe; }
  .global-alert__content {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem; }
    @media screen and (min-width: 40.625em) {
      .global-alert__content {
        font-size: 0.875rem; } }
  .global-alert__utility {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding-left: 2rem;
    white-space: nowrap; }
    @media screen and (max-width: 40.625em) {
      .global-alert__utility .button.tiny,
      .global-alert__utility .tiny#gdpr-submit {
        font-size: 0.625rem; } }

.header-utility {
  color: rgba(254, 254, 254, 0.75); }
  .header-utility .hny-svg {
    width: 1.5em;
    height: 1.5em; }
    .header-utility .hny-svg--facebook {
      width: 2em;
      height: 2em; }
  .header-utility button,
  .header-utility a {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: currentColor;
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    text-transform: uppercase; }
    @media print, screen and (min-width: 48.875em) {
      .header-utility button,
      .header-utility a {
        font-size: 0.625rem; } }
    @media print, screen and (min-width: 64em) {
      .header-utility button,
      .header-utility a {
        padding-top: 0.895rem;
        padding-bottom: 0.895rem;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 80em) {
      .header-utility button,
      .header-utility a {
        letter-spacing: 0.125em; } }
    .header-utility button:hover,
    .header-utility a:hover {
      color: #fefefe; }
  .header-utility button.navburger {
    padding: 0.5rem;
    border-radius: 0.35rem;
    background: #46954C; }
  @media print, screen and (min-width: 64em) {
    .header-utility__wrapper {
      padding-left: 275px; } }
  @media screen and (min-width: 103.125em) {
    .header-utility__wrapper {
      padding-left: 350px; } }
  .header-utility__items {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    margin: 0;
    list-style: none; }
    @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
      .header-utility__items {
        justify-content: flex-end; } }
    @media print, screen and (min-width: 80em) {
      .header-utility__items {
        padding-left: 4rem; } }
  .header-utility__item {
    display: flex;
    flex: 0 1 auto;
    align-items: center; }
    .header-utility__item--active {
      color: #fefefe; }
    @media print, screen and (max-width: 48.87375em) {
      .header-utility__item:not(.header-utility__item--divider) {
        display: none; } }
    .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
      margin-left: 2rem; }
      @media print, screen and (min-width: 48.875em) {
        .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
          margin-left: 0.895rem; } }
      @media print, screen and (min-width: 80em) {
        .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
          margin-left: 1rem; } }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .header-utility__item--home {
    display: none; } }
    @media print, screen and (min-width: 64em) {
      .header-utility__item--divider {
        margin-left: auto; } }
    .header-utility__item--divider ~ .header-utility__item {
      display: flex; }
      @media screen and (max-width: 26.25em) {
        .header-utility__item--divider ~ .header-utility__item.header-utility__item--contact {
          display: none; } }
      @media print, screen and (max-width: 48.87375em) {
        .header-utility__item--divider ~ .header-utility__item.header-utility__item--facebook {
          display: none; } }
      .header-utility__item--divider ~ .header-utility__item:not(.header-utility__item--divider) {
        margin-left: 1rem; }
    @media print, screen and (min-width: 48.875em) {
      .header-utility__item--divider + .header-utility__item {
        display: none; } }
    @media print, screen and (min-width: 48.875em) {
      .header-utility__item:last-child {
        display: none; } }
  .header-utility .site-search {
    z-index: 1000;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0;
    margin-right: -1.25rem;
    padding: 1.25rem;
    overflow: visible;
    border-radius: 0.35rem;
    background: #fefefe;
    box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    opacity: 0;
    pointer-events: none; }
    .header-utility .site-search__input {
      min-width: 185px; }
    .is-search-open .header-utility .site-search {
      opacity: 1;
      pointer-events: auto; }
    .header-utility .site-search:before {
      position: absolute;
      top: 0;
      right: 4.5rem;
      width: 0;
      height: 0;
      margin-top: -8px;
      border-width: 0 8px 8px 8px;
      border-style: solid;
      border-color: transparent transparent #fefefe transparent;
      content: ''; }
      @media print, screen and (min-width: 48.875em) {
        .header-utility .site-search:before {
          right: 1.25rem; } }
    .is-search-open .header-utility .site-search {
      visibility: visible;
      opacity: 1; }
    .header-utility .site-search form {
      flex: 0 0 100%;
      width: 100%;
      max-width: 100%;
      margin-top: -1px; }

.hero {
  position: relative;
  background-color: #1a1a1a;
  color: #fefefe;
  text-align: center;
  text-shadow: 0 0 15px rgba(26, 26, 26, 0.9); }
  .hero__content {
    z-index: 1;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .hero__content {
        padding-right: calc(var(--swiper-navigation-size) / 44 * 27 + 10px);
        padding-left: calc(var(--swiper-navigation-size) / 44 * 27 + 10px); } }
    .hero--landing .hero__content {
      padding-top: 6rem;
      padding-bottom: 4rem; }
      @media screen and (min-width: 103.125em) {
        .hero--landing .hero__content {
          padding-top: 8rem;
          padding-bottom: 6rem; } }
  .hero--home {
    padding-top: 35%;
    padding-bottom: 45%; }
    @media print, screen and (min-width: 40em) {
      .hero--home {
        padding-top: 25%;
        padding-bottom: 30%; } }
    @media print, screen and (min-width: 64em) {
      .hero--home {
        padding-top: 15rem;
        padding-bottom: 20rem; } }
  .hero--landing {
    padding-bottom: 0; }
    .hero--landing .heading {
      margin-bottom: 0; }
  .hero .swiper-button-next, .hero .swiper-button-prev {
    color: #fefefe; }
    @media print, screen and (max-width: 39.99875em) {
      .hero .swiper-button-next, .hero .swiper-button-prev {
        visibility: hidden;
        opacity: 0; } }
  .hero__slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .hero__slider .swiper-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .hero__slider .swiper-container:not(.swiper-container-initialized) .swiper-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        opacity: 0; }
        .hero__slider .swiper-container:not(.swiper-container-initialized) .swiper-slide:first-child {
          opacity: 1; }
    .hero__slider .swiper-container-initialized .swiper-slide:not(.swiper-slide-active) figure {
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }
  .hero + .content-blocks {
    z-index: 100;
    position: relative; }
    .hero + .content-blocks > .content-block:first-child .product-categories {
      margin-top: -3rem; }
      .hero + .content-blocks > .content-block:first-child .product-categories .cell:first-child .product-categories__item, .hero + .content-blocks > .content-block:first-child .product-categories .cell:nth-child(2) .product-categories__item {
        margin-top: -50%; }
      @media print, screen and (min-width: 40em) {
        .hero + .content-blocks > .content-block:first-child .product-categories .cell:nth-child(3) .product-categories__item {
          margin-top: -50%; } }
      @media print, screen and (min-width: 64em) {
        .hero + .content-blocks > .content-block:first-child .product-categories__item {
          margin-top: -50%; } }
  .hero figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .hero h1 {
    color: #fefefe; }
    .hero h1 > span {
      color: currentColor; }

.reveal .hny-cart {
  font-size: 0.875rem; }

.hny-cart__items {
  margin: 0;
  list-style: none; }

.hny-cart__item + .hny-cart__item {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #efefef; }
  .hny-cart__item + .hny-cart__item--total {
    padding-top: 1rem; }
  .reveal .hny-cart__item + .hny-cart__item {
    border-top-color: #d7d7d7; }

.hny-cart__item .button,
.hny-cart__item #gdpr-submit {
  justify-content: center;
  width: 100%; }

.hny-cart__item--product .hny-cart__item-inner {
  display: flex;
  align-items: center; }

.hny-cart__item--total {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.hny-cart__item--empty {
  text-align: center; }

.hny-cart__total {
  font-weight: bold;
  font-size: 1.25em; }

.hny-cart__item-remove {
  margin-right: 0.75rem; }
  .hny-cart__item-remove .hny-svg {
    fill: #fefefe;
    width: 1em;
    height: 1em;
    padding: 0.125em;
    border-radius: 50%;
    background: #cc4b37; }

.hny-cart__item-title {
  display: block;
  font-weight: bold;
  line-height: 1.2; }
  .hny-cart__item-title a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

.hny-cart__item-details {
  padding-right: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.hny-cart__item-quantity, .hny-cart__item-price {
  color: #89939B;
  font-size: 0.75rem; }

.hny-cart__item-photo {
  flex: 0 0 50px;
  max-width: 50px;
  margin-right: 0.75rem;
  overflow: hidden;
  border: 1px solid #fefefe;
  border-radius: 0.35rem;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
  .hny-cart__item-photo img {
    width: 50px;
    height: 50px; }

.hny-cart__item-total {
  margin-left: auto; }

.hny-cart__item-utility {
  display: flex;
  align-items: center;
  margin-left: 0.5rem; }
  .hny-cart__item-utility button + button {
    margin-left: 0.5rem; }
  .hny-cart__item-utility .hny-svg {
    fill: #89939B;
    width: 1em;
    height: 1em; }
    .hny-cart__item-utility .hny-svg--check {
      fill: #46954C; }
    .hny-cart__item-utility .hny-svg--undo {
      fill: #ffae00; }

.hny-cart__item-editor {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  flex-flow: row nowrap;
  width: 100%;
  height: 100%;
  background: #fefefe; }
  .is-editing .hny-cart__item-editor {
    display: flex; }
  .hny-cart__item-editor label {
    display: flex;
    flex-flow: row nowrap; }
    .hny-cart__item-editor label > span {
      display: flex;
      align-items: center; }
  .hny-cart__item-editor input {
    width: 75px;
    height: auto;
    margin: 0 0 0 0.5rem; }
  .hny-cart__item-editor > div {
    display: flex; }
    .hny-cart__item-editor > div:first-child {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      margin-right: auto;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
      .hny-cart__item-editor > div:first-child > div {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
    .hny-cart__item-editor > div + div {
      padding-left: 0.5rem; }
    .hny-cart__item-editor > div:last-child {
      display: flex;
      flex-flow: row nowrap; }
      .hny-cart__item-editor > div:last-child .button .hny-svg, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button .hny-svg, .hny-cart__item-editor > div:last-child #gdpr-submit .hny-svg {
        width: 1em;
        height: 1em; }
      .hny-cart__item-editor > div:last-child .button + .button, .hny-cart__item-editor > div:last-child #gdpr-submit + .button, .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools .button + .button, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button + .button, .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools #gdpr-submit + .button, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child #gdpr-submit + .button,
      .hny-cart__item-editor > div:last-child .button + #gdpr-submit,
      .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools .button + #gdpr-submit, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button + #gdpr-submit,
      .hny-cart__item-editor > div:last-child #gdpr-submit + #gdpr-submit {
        margin-left: 0.25rem; }

.hny-cart__item-inner {
  display: flex;
  position: relative;
  align-items: center; }
  .is-editing .hny-cart__item-inner > div:not(.hny-cart__item-editor) {
    visibility: hidden;
    opacity: 0; }

.inline-icon {
  display: inline-flex;
  align-items: center; }
  .inline-icon * + .hny-svg {
    margin-left: 0.25rem; }
  .inline-icon .hny-svg {
    width: 0.75em;
    height: 0.75em; }
    .inline-icon .hny-svg + * {
      margin-left: 0.25rem; }
    .inline-icon .hny-svg--check {
      fill: #fefefe;
      border-radius: 50%;
      background: #46954C; }

p.lead.inline-icon {
  line-height: 1.4; }
  p.lead.inline-icon span + .hny-svg {
    margin-left: 0.5rem; }
  p.lead.inline-icon .hny-svg {
    flex: 0 0 1.75em;
    width: 1.75em;
    max-width: 1.75em;
    height: 1.75em;
    padding: 0.25em; }
    p.lead.inline-icon .hny-svg + span {
      margin-left: 0.5rem; }

.listing--post .cell + .cell .listing__item {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(137, 147, 155, 0.3); }

.listing__item + .listing__item {
  margin-top: 3rem; }

.listing__block + .listing__block {
  position: relative;
  padding-top: 3rem;
  border-top: 1px solid rgba(137, 147, 155, 0.3); }

.loader-overlay {
  display: flex;
  visibility: hidden;
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.9);
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease-in-out; }
  .is-loading .loader-overlay {
    visibility: visible;
    cursor: wait;
    opacity: 1;
    pointer-events: auto; }
  .loader-overlay .loader {
    color: #46954C; }

.loader span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 2px;
  border-radius: 2px;
  background-color: currentColor;
  opacity: 0; }
  .loader span:nth-child(1) {
    -webkit-animation: opacitychange 1s ease-in-out infinite;
            animation: opacitychange 1s ease-in-out infinite; }
  .loader span:nth-child(2) {
    -webkit-animation: opacitychange 1s ease-in-out 0.33s infinite;
            animation: opacitychange 1s ease-in-out 0.33s infinite; }
  .loader span:nth-child(3) {
    -webkit-animation: opacitychange 1s ease-in-out 0.66s infinite;
            animation: opacitychange 1s ease-in-out 0.66s infinite; }

@-webkit-keyframes opacitychange {
  0%, 100% {
    opacity: 0; }
  60% {
    opacity: 1; } }

@keyframes opacitychange {
  0%, 100% {
    opacity: 0; }
  60% {
    opacity: 1; } }

.logo > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0.5rem;
  overflow: hidden;
  border: 1px solid #89939B;
  border-radius: 0.35rem;
  background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.15) 0%, #fefefe 60%);
  background-color: #fefefe;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .logo > a {
      padding: 0.75rem; } }
  @media print, screen and (min-width: 64em) {
    .logo > a {
      padding: 1.5rem 1.5rem; } }

.map {
  position: relative;
  overflow: hidden;
  border-top: 2px solid #fefefe;
  background: rgba(254, 254, 254, 0.95);
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  .map figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .map__location {
    padding: 1.5rem 1.5rem 20rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .map__location {
        padding: 6rem 0;
        text-align: left; } }
    .map__location > div {
      display: inline-block;
      position: relative;
      top: 0;
      right: 0;
      padding: 1rem;
      border-radius: 0.35rem;
      background: rgba(254, 254, 254, 0.9);
      font-size: 0.75rem;
      text-align: left;
      -webkit-filter: drop-shadow(0 0 75px rgba(26, 26, 26, 0.4));
              filter: drop-shadow(0 0 75px rgba(26, 26, 26, 0.4)); }
      @media print, screen and (min-width: 40em) {
        .map__location > div {
          left: 50%;
          width: calc(50% - 4.5rem);
          margin-left: 3rem;
          padding: 2rem;
          font-size: 1rem; } }
      @media print, screen and (min-width: 64em) {
        .map__location > div {
          width: auto; } }
      .map__location > div:before {
        position: absolute;
        bottom: -15px;
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -15px;
        border-width: 15px 15px 0 15px;
        border-style: solid;
        border-color: rgba(254, 254, 254, 0.9) transparent transparent transparent;
        content: ''; }
        @media print, screen and (min-width: 40em) {
          .map__location > div:before {
            top: 50%;
            bottom: auto;
            left: -15px;
            margin-top: -15px;
            margin-left: 0;
            border-width: 15px 15px 15px 0;
            border-color: transparent rgba(254, 254, 254, 0.9) transparent transparent; } }

.masthead {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between; }
  @media print, screen and (min-width: 48.875em) {
    .masthead {
      display: block; } }
  .masthead__logo {
    display: flex;
    flex: 0 0 100px;
    align-items: flex-end;
    max-width: 100px;
    padding-top: 1.5rem; }
    .masthead__logo .logo {
      flex: 0 0 100%;
      max-width: 100%; }
      .masthead__logo .logo svg {
        width: 82px;
        height: 73px; }
    @media print, screen and (min-width: 40em) {
      .masthead__logo {
        flex: 0 0 150px;
        max-width: 150px; }
        .masthead__logo .logo svg {
          width: 124px;
          height: 110px; } }
    @media print, screen and (min-width: 48.875em) {
      .masthead__logo {
        position: absolute;
        top: 0;
        flex: 0 0 120px;
        width: 100%;
        max-width: 120px; }
        .masthead__logo .logo svg {
          width: 94px;
          height: 83px; } }
    @media print, screen and (min-width: 64em) {
      .masthead__logo {
        position: absolute;
        top: 0;
        width: 100%;
        max-width: calc(275px - 3rem);
        height: 100%; }
        .masthead__logo .logo svg {
          width: 175px;
          height: 156px; } }
    @media print, screen and (min-width: 80em) {
      .masthead__logo {
        max-width: calc(300px - 3rem); }
        .masthead__logo .logo svg {
          width: auto;
          height: auto; } }
    @media screen and (min-width: 103.125em) {
      .masthead__logo {
        max-width: calc(350px - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .masthead__nav {
      padding-left: 275px; } }
  @media screen and (min-width: 103.125em) {
    .masthead__nav {
      padding-left: 350px; } }
  .masthead__nav .navburger {
    color: #fefefe; }
    @media print, screen and (min-width: 48.875em) {
      .masthead__nav .navburger {
        display: none; } }
    .masthead__nav .navburger .hny-svg {
      width: 2em;
      height: 2em; }
  .masthead__contact {
    display: none; }
    @media print, screen and (min-width: 48.875em) {
      .masthead__contact {
        display: block;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        color: rgba(254, 254, 254, 0.75);
        font-size: 0.625rem; } }
    @media screen and (min-width: 56.25em) {
      .masthead__contact {
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 80em) {
      .masthead__contact {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
        padding-left: 4rem;
        font-size: 0.8125rem; } }
    @media screen and (min-width: 103.125em) {
      .masthead__contact {
        min-height: 155px; } }
    .masthead__contact .heading {
      color: currentColor;
      font-size: inherit; }
    .masthead__contact .grid-padding-x {
      flex-flow: row nowrap;
      justify-content: flex-end; }
      @media print, screen and (min-width: 64em) {
        .masthead__contact .grid-padding-x {
          justify-content: space-between; } }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .hny .masthead__contact .grid-padding-x {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
  .masthead__contact .grid-padding-x .cell {
    padding-right: 0.75rem;
    padding-left: 0.75rem; } }
    .masthead__contact a {
      color: currentColor; }
    .masthead__contact .contact-list--phone-numbers .contact-list__item ul li:last-child {
      display: block;
      margin-top: 0.25rem; }

.mini-cart {
  display: block;
  position: relative;
  padding-right: 18px; }
  .header-utility .mini-cart .hny-svg {
    width: 2.625em;
    height: 2.625em/2.15054; }
  .mini-cart > span {
    display: flex;
    position: absolute;
    top: 5px;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #46954C;
    color: #fefefe;
    font-weight: normal;
    font-size: 0.625rem;
    letter-spacing: 0;
    text-align: center; }

.mobile-nav {
  -webkit-overflow-scrolling: touch;
  display: flex;
  z-index: 99999999;
  position: fixed;
  top: 0;
  left: 100vw;
  flex-direction: column;
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  padding: 26px 33px 26px;
  overflow-y: scroll;
  background: #03502C;
  color: #fefefe;
  opacity: 0;
  transition: opacity .2s ease-in-out; }
  @media print, screen and (min-width: 48.875em) {
    .mobile-nav {
      display: none; } }
  .is-mobile-nav-open .mobile-nav {
    left: 0;
    opacity: 1; }
  .mobile-nav .is-drilldown {
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
    .mobile-nav .is-drilldown .mobile-nav__item--divider {
      display: none; }
  .mobile-nav.is-drilldown-open .mobile-nav__item > a > span {
    -webkit-animation: simple-fade-out-left 1s ease both;
            animation: simple-fade-out-left 1s ease both; }
  .mobile-nav.is-drilldown-open .mobile-nav__item > a > .hny-svg {
    -webkit-animation: simple-fade-out-right 1s ease both;
            animation: simple-fade-out-right 1s ease both; }
  .mobile-nav .drilldown li {
    margin-bottom: 0.75rem; }
  .mobile-nav .drilldown a {
    padding: 0.25rem 1.5rem;
    font-size: 1.375rem; }
  .mobile-nav > button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 17px 24px;
    color: #fefefe;
    text-align: center; }
    .mobile-nav > button .hny-svg {
      width: 36px;
      height: 36px; }
  .mobile-nav__wrapper .logo {
    display: inline-block;
    width: 120px; }
    .mobile-nav__wrapper .logo > a {
      padding: 0.5rem !important; }
    .mobile-nav__wrapper .logo svg {
      width: 102px;
      height: 91px; }
  .mobile-nav__items {
    margin-top: 3rem;
    margin-bottom: 0;
    margin-left: 0;
    padding-bottom: 1.5rem;
    list-style: none; }
  .mobile-nav__item .hny-svg {
    margin-left: auto; }
  .mobile-nav__item--active a {
    font-weight: bold; }
  .mobile-nav__item a {
    color: #fefefe;
    font-size: 2rem; }
    .mobile-nav__item a > span {
      display: inline-flex;
      align-items: center;
      -webkit-animation-delay: .5s;
              animation-delay: .5s;
      opacity: 0;
      will-change: transform; }
      .is-mobile-nav-open .mobile-nav__item a > span {
        -webkit-animation: simple-fade-in-left 1s ease both;
                animation: simple-fade-in-left 1s ease both; }
    .mobile-nav__item a:hover {
      opacity: 0.5; }
  .mobile-nav__item--has-submenu > a > span {
    position: relative;
    padding-right: 0.625rem; }
    .mobile-nav__item--has-submenu > a > span:after {
      position: absolute;
      right: 0;
      bottom: 0.325em;
      width: 0;
      height: 0;
      border-top: none;
      border-right: 0 solid transparent;
      border-bottom: 8px solid currentColor;
      border-left: 8px solid transparent;
      content: ''; }
  .mobile-nav .js-drilldown-back {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    opacity: 0;
    will-change: transform; }
    .mobile-nav .js-drilldown-back a {
      font-size: 0.875rem;
      text-transform: uppercase; }
  .mobile-nav a {
    display: flex;
    align-items: center;
    outline: none;
    line-height: 1.2; }
    .mobile-nav a .hny-svg {
      width: 1.5em;
      height: 1.5em;
      margin-right: 0.5rem; }
    .mobile-nav a span {
      display: inline-flex; }
    .is-mobile-nav-open .mobile-nav a > span {
      -webkit-animation: simple-fade-in-left 1s ease both;
              animation: simple-fade-in-left 1s ease both; }
    .is-mobile-nav-open .mobile-nav a .hny-svg {
      -webkit-animation: simple-fade-in-right 1.5s ease both;
              animation: simple-fade-in-right 1.5s ease both; }
  .mobile-nav .is-drilldown-submenu {
    transition: -webkit-transform 1ms linear;
    transition: transform 1ms linear;
    transition: transform 1ms linear, -webkit-transform 1ms linear; }
    .mobile-nav .is-drilldown-submenu li a > span {
      -webkit-animation-delay: 1s;
              animation-delay: 1s;
      opacity: 0;
      will-change: transform; }
    .mobile-nav .is-drilldown-submenu.is-active li.js-drilldown-back {
      -webkit-animation: simple-fade-in-right 1s ease both;
              animation: simple-fade-in-right 1s ease both; }
    .mobile-nav .is-drilldown-submenu.is-active li a > span {
      -webkit-animation: simple-fade-in-right 1s ease both;
              animation: simple-fade-in-right 1s ease both; }
  .mobile-nav .contact-list {
    margin-top: auto; }
    .mobile-nav .contact-list a {
      color: #fefefe; }

@-webkit-keyframes simple-fade-in-left {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes simple-fade-in-left {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes simple-fade-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes simple-fade-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes simple-fade-out-left {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; } }

@keyframes simple-fade-out-left {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; } }

@-webkit-keyframes simple-fade-out-right {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; } }

@keyframes simple-fade-out-right {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; } }

.mobile-utility__items {
  margin: 0;
  list-style: none; }

.mobile-utility__item > a {
  display: block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  color: #fefefe;
  font-weight: normal; }
  .mobile-utility__item > a span {
    display: inline-block; }

.is-drilldown-open .mobile-utility__item > a span {
  -webkit-animation: simple-fade-out-left 1s ease both;
          animation: simple-fade-out-left 1s ease both; }

.padded-block {
  z-index: 1;
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: #407636;
  color: #fefefe; }
  @media print, screen and (min-width: 48.875em) {
    .padded-block {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 48.875em) {
    .padded-block {
      padding: 5rem; } }
  .padded-block .heading {
    color: #fefefe; }
    .padded-block .heading a {
      color: currentColor; }
  @media print, screen and (min-width: 48.875em) {
    .padded-block--left {
      padding-left: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .padded-block--right {
      padding-right: 0; } }
  .padded-block--dark h1.heading,
  .padded-block--dark h2.heading,
  .padded-block--dark h3.heading,
  .padded-block--dark h4.heading {
    color: #46954C; }

.photo {
  padding: 0.5rem;
  border-radius: 2rem;
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
  .photo figure {
    border-radius: 1.5rem;
    background-color: #fefefe; }
  .content-block__layout--full-width .photo {
    padding: 0;
    border-radius: 0;
    box-shadow: none; }
    .content-block__layout--full-width .photo figure {
      border-radius: 0; }
  .photo--clear {
    padding: 0;
    border-radius: 0;
    box-shadow: none; }
    .photo--clear figure {
      border-radius: 0;
      background-color: transparent; }

.price {
  font-weight: normal; }
  @media print, screen and (min-width: 80em) {
    .content-block .price {
      font-size: 1.25rem; } }
  .price__number {
    color: #1a1a1a;
    font-weight: bold;
    font-size: 125%; }
    .price--special .price__number {
      color: #cc4b37; }
    .price__number ins {
      text-decoration: none; }
  .price__unit {
    color: #89939B; }
  .price del {
    position: relative;
    font-weight: normal;
    text-decoration: none; }
    .price del:after {
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: rotate(-10deg);
              transform: rotate(-10deg);
      border-top: 2px solid currentColor;
      border-color: inherit;
      content: ""; }
  .price--small {
    color: #89939B;
    font-size: 0.875rem; }

.primary-nav {
  display: none;
  border-radius: 0.35rem;
  background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.2) 0%, #fefefe 60%);
  background-color: #fefefe;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
  @media print, screen and (min-width: 48.875em) {
    .primary-nav {
      display: block; } }
  .primary-nav ul {
    list-style: none; }
  .primary-nav__items {
    display: flex;
    flex-flow: row nowrap;
    margin: 0; }
  .primary-nav__item {
    display: flex;
    flex: 1 0 auto; }
    .primary-nav__item:not(.primary-nav__item--divider) + li:not(.primary-nav__item--divider) {
      border-left: 1px solid rgba(26, 26, 26, 0.1); }
    .primary-nav__item > a {
      display: flex;
      position: relative;
      flex: 1 0 auto;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 1rem 0.75rem;
      outline: none;
      font-size: 0.75rem;
      line-height: 1.2;
      text-align: center;
      text-transform: uppercase; }
      @media print, screen and (min-width: 80em) {
        .primary-nav__item > a {
          font-size: 0.875rem; } }
      @media screen and (min-width: 103.125em) {
        .primary-nav__item > a {
          padding: 1.25rem;
          font-size: 1rem; } }
      .primary-nav__item > a:hover:after {
        opacity: 1; }
      .primary-nav__item > a:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.05) 0%, transparent 100%);
        content: '';
        opacity: 0;
        transition: inherit; }
      .primary-nav__item > a span span {
        display: block; }
      .primary-nav__item > a .hny-svg {
        fill: #8a8a8a;
        position: absolute;
        bottom: 0.25rem;
        width: 0.75em;
        height: 0.75em;
        transition: inherit; }
    .primary-nav__item--active > a:after {
      background-image: linear-gradient(0deg, rgba(70, 149, 76, 0.25) 0%, transparent 100%);
      opacity: 1; }
    .primary-nav__item--active > a .hny-svg {
      fill: currentColor; }
    .primary-nav__item--alt > a {
      color: #cc4b37; }
      .primary-nav__item--alt > a:after {
        width: calc(100% + 1rem); }
    .primary-nav__item--alt.primary-nav__item--active > a:after {
      background-image: linear-gradient(0deg, rgba(204, 75, 55, 0.2) 0%, transparent 100%); }
    .primary-nav__item--divider {
      position: relative;
      max-width: 0;
      margin: 0; }
      .primary-nav__item--divider + li > a {
        padding-left: 3rem;
        overflow: hidden;
        border-top-right-radius: 0.35rem;
        border-bottom-right-radius: 0.35rem; }
        .primary-nav__item--divider + li > a span {
          z-index: 99999;
          position: relative; }
        .primary-nav__item--divider + li > a svg {
          fill: #fefefe !important;
          z-index: 99999; }
        .primary-nav__item--divider + li > a:before {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          -webkit-transform: skewX(-35deg);
                  transform: skewX(-35deg);
          -webkit-transform-origin: bottom left;
                  transform-origin: bottom left;
          background-image: linear-gradient(0deg, #15a3da 0%, rgba(254, 254, 254, 0.2) 100%);
          background-color: #15a3da;
          content: ''; }
      .primary-nav__item--divider + li ul {
        right: 0; }
      .primary-nav__item--divider--active:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 9999px;
        height: 100%;
        -webkit-transform: skewX(-35deg);
                transform: skewX(-35deg);
        background-image: linear-gradient(0deg, rgba(70, 149, 76, 0.25) 0%, transparent 100%);
        content: ''; }
      .primary-nav__item--divider ~ .primary-nav__item {
        display: flex;
        z-index: 1;
        position: relative;
        flex: 1 0 auto; }
        .primary-nav__item--divider ~ .primary-nav__item > a {
          margin-left: -1.65rem;
          padding-left: 2.75rem;
          color: #fefefe;
          text-shadow: rgba(26, 26, 26, 0.5) 0 1px 1px; }
          @media print, screen and (min-width: 80em) {
            .primary-nav__item--divider ~ .primary-nav__item > a {
              padding-left: 3.75rem; } }
          .primary-nav__item--divider ~ .primary-nav__item > a:after {
            content: none; }
  .primary-nav__submenu {
    position: absolute;
    top: 100%;
    width: 250px;
    margin: 0.5rem 0 0;
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    border-radius: 0.35rem;
    background: #fefefe;
    background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.2) 0%, #fefefe 60%);
    background-color: #fefefe;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
    opacity: 0;
    -webkit-perspective: 2000px;
            perspective: 2000px;
    pointer-events: none;
    transition-duration: .25s;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    will-change: transform, opacity; }
    .primary-nav__submenu.js-dropdown-active {
      -webkit-transform: none;
              transform: none;
      opacity: 1;
      pointer-events: auto; }
    .primary-nav__submenu-item > a {
      display: block;
      padding: 0.5rem 1rem;
      font-size: 0.875rem; }
      @media print, screen and (min-width: 80em) {
        .primary-nav__submenu-item > a {
          font-size: 1rem; } }
    .primary-nav__submenu-item + li > a {
      border-top: 1px solid rgba(26, 26, 26, 0.1); }
    .primary-nav__submenu-item--active > a {
      background: #46954C;
      color: #fefefe; }

.product-categories {
  margin-bottom: -1.5rem; }
  .column .product-categories {
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
  @media print, screen and (min-width: 64em) {
    .product-categories {
      margin-bottom: 0; } }
  .product-categories .cell {
    margin-bottom: 1.5rem; }
    @media print, screen and (min-width: 64em) {
      .product-categories .cell {
        margin-bottom: 0; } }
  .product-categories__item {
    display: block;
    z-index: 1;
    position: relative;
    padding-bottom: 100%;
    border: 4px solid #fefefe;
    border-radius: 50%;
    background: #1a1a1a;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    color: #fefefe;
    text-align: center;
    text-shadow: 0 0 15px rgba(26, 26, 26, 0.9);
    text-transform: uppercase; }
    .product-categories__item:after {
      -moz-transition: -moz-transform 0.2s, opacity 0.3s;
      -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
      box-sizing: content-box;
      z-index: -1;
      position: absolute;
      top: -2px;
      left: -2px;
      width: 100%;
      height: 100%;
      padding: 2px;
      border-radius: 50%;
      background: #fefefe;
      content: '';
      opacity: 0.3;
      pointer-events: none;
      transition: opacity 0.3s, -webkit-transform 0.2s;
      transition: transform 0.2s, opacity 0.3s;
      transition: transform 0.2s, opacity 0.3s, -webkit-transform 0.2s; }
    .product-categories__item:hover {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
      box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
      color: #fefefe; }
      .product-categories__item:hover:after {
        -webkit-transform: scale(1.3);
                transform: scale(1.3);
        opacity: 0; }
      .product-categories__item:hover .heading {
        -webkit-transform: none;
                transform: none; }
      .product-categories__item:hover span {
        -webkit-transform: none;
                transform: none;
        opacity: 1; }
      .product-categories__item:hover figure:after {
        opacity: 0; }
    .product-categories__item > div {
      display: flex;
      z-index: 10;
      position: absolute;
      top: 0;
      left: 0;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      padding: 1rem; }
    .product-categories__item > figure {
      z-index: 2;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 50%;
      transition: 400ms; }
      .product-categories__item > figure:after {
        z-index: 3;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #1a1a1a;
        content: '';
        opacity: 0.2;
        transition: 300ms; }
    .product-categories__item .heading {
      margin-bottom: 0;
      color: #fefefe;
      font-size: 1.125rem;
      transition: 200ms; }
      @media screen and (max-width: 25em) {
        .product-categories__item .heading {
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 48.875em) {
        .product-categories__item .heading {
          font-size: 1.375rem; } }
      @media print, screen and (min-width: 64em) {
        .product-categories__item .heading {
          -webkit-transform: translateY(1.5rem);
                  transform: translateY(1.5rem); } }
      @media print, screen and (min-width: 80em) {
        .product-categories__item .heading {
          font-size: 1.5rem; } }
    .product-categories__item span {
      display: block;
      height: 1.5rem;
      margin-top: 0.5rem;
      -webkit-transform-origin: center bottom;
              transform-origin: center bottom;
      font-size: 0.6875rem;
      text-align: center; }
      @media screen and (max-width: 25em) {
        .product-categories__item span {
          display: none; } }
      @media print, screen and (min-width: 64em) {
        .product-categories__item span {
          -webkit-transform: translateY(1.5rem) scaleY(0.5);
                  transform: translateY(1.5rem) scaleY(0.5);
          opacity: 0;
          transition: 400ms; } }
      @media print, screen and (min-width: 48.875em) {
        .product-categories__item span {
          font-size: 0.8125rem; } }

@media screen and (min-width: 33.125em) and (max-width: 63.99875em) {
  .hny .product-categories .grid-container div.cell {
    padding-right: 5%;
    padding-left: 5%; } }

.hny .content-block .product-categories .grid-container {
  padding-right: 0;
  padding-left: 0; }

.product-gallery {
  position: relative; }
  .product-gallery__slider {
    overflow: hidden;
    border: 0.5rem solid transparent;
    border-radius: 2rem;
    box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
    .product-gallery__slider .swiper-slide figure {
      padding-bottom: 100%;
      background-color: #fefefe; }
  .product-gallery__pagination .swiper-pagination-bullets {
    position: relative;
    text-align: left; }
  .product-gallery__pagination .swiper-pagination-bullet {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 1rem;
    border: 1px solid;
    border-radius: 0.35rem;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
    opacity: 1; }
    .product-gallery__pagination .swiper-pagination-bullet:only-child {
      display: none; }
    .product-gallery__pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
      border-color: #484848;
      background: none; }
    .product-gallery__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
      border-color: var(--swiper-theme-color); }
    .product-gallery__pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
      margin-left: 0.75rem; }

.product__gallery {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .product__gallery {
      margin-bottom: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .product__gallery .breadcrumbs {
      display: none; } }

.product__header .breadcrumbs {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .product__header .breadcrumbs {
      display: block; } }

.product__header .heading {
  margin-bottom: 0; }

.product__header img {
  max-width: 270px;
  margin-bottom: 1rem; }
  .reveal .product__header img {
    max-width: 135px; }

.product__super-sack {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0; }
  .product__super-sack img {
    width: 80px;
    height: 80px; }
    @media print, screen and (min-width: 64em) {
      .product__super-sack img {
        width: 100px;
        height: 100px; } }
  .product__super-sack ~ div {
    padding-right: calc(80px + 1.5rem); }
    @media print, screen and (min-width: 64em) {
      .product__super-sack ~ div {
        padding-right: calc(100px + 1.5rem); } }

@media print, screen and (min-width: 40em) {
  .product__price {
    display: flex;
    align-items: baseline; } }

@media print, screen and (min-width: 64em) {
  .product__price .price {
    font-size: 1.25em; } }

.reveal .product__price .price {
  font-size: 1.125em; }

.product__price .price--small {
  font-size: 0.75rem; }
  @media print, screen and (min-width: 40em) {
    .product__price .price--small {
      margin-left: 0.75rem;
      font-size: 0.875rem; } }

.product__block {
  position: relative; }
  .product__block + .product__block {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #03502C; }
  .reveal .product__block {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top-color: #efefef;
    font-size: 0.875rem; }
  .product__block--no-border {
    padding-top: 0;
    border-top: 0; }

@media print, screen and (min-width: 40em) {
  .product .add-to-cart {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .product .add-to-cart {
    display: block; } }

.product .add-to-cart label {
  font-weight: bold;
  font-size: 1.25rem;
  white-space: nowrap; }
  .product .add-to-cart label > span > span {
    display: block;
    font-weight: normal;
    font-size: 0.875rem; }

.product .add-to-cart > div {
  display: flex;
  flex-flow: row nowrap;
  margin-top: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .product .add-to-cart > div {
      margin-top: 0; } }
  @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
    .product .add-to-cart > div {
      margin-top: 0.25rem; } }
  .product .add-to-cart > div input {
    max-width: 100px;
    height: auto;
    margin-right: 0.5rem;
    margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .product .add-to-cart > div input {
        margin-left: 0.5rem; } }
    @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
      .product .add-to-cart > div input {
        margin-left: 0; } }
  .product .add-to-cart > div .button,
  .product .add-to-cart > div #gdpr-submit {
    flex: 1 0 auto; }
    @media print, screen and (max-width: 39.99875em) {
      .product .add-to-cart > div .button,
      .product .add-to-cart > div #gdpr-submit {
        font-size: 0.75rem; } }

.product__cta {
  margin: 0 auto;
  padding: 1.5rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5);
  text-align: center; }
  @media print, screen and (max-width: 63.99875em) {
    .product__cta {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 80em) {
    .product__cta {
      max-width: 85%; } }
  .product__cta .heading {
    margin-bottom: 0;
    color: #03502C; }
  .product__cta a {
    color: #46954C; }
  .product__cta .hny-svg {
    fill: #46954C; }
  .product__cta .contact-list--phone-number {
    margin: 0.5rem 0; }
    .product__cta .contact-list--phone-number > li > a {
      font-size: 1.5rem; }
      @media print, screen and (min-width: 80em) {
        .product__cta .contact-list--phone-number > li > a {
          font-size: 1.75em; } }

.product .wysiwyg {
  font-style: italic; }

.recent-updates {
  position: relative;
  margin: 0 -1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .recent-updates {
      margin: 0; } }
  @media print, screen and (max-width: 48.87375em) {
    .recent-updates .padded-block {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 48.875em) {
    .recent-updates .padded-block:after {
      position: absolute;
      top: 0;
      left: 100%;
      width: 100vw;
      height: 100%;
      background: inherit;
      content: ''; } }
  .recent-updates figure {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-bottom: 66.66667%; }
    @media print, screen and (min-width: 48.875em) {
      .recent-updates figure {
        position: absolute;
        top: 0;
        left: 0;
        flex: 1 0 auto;
        width: 50%;
        height: 100%;
        padding-bottom: 0; } }

/* common */
.ribbon {
  z-index: 20;
  position: absolute;
  width: 150px;
  height: 150px;
  overflow: hidden; }
  @media print, screen and (min-width: 80em) {
    .ribbon {
      width: 225px;
      height: 225px; } }

.ribbon::before,
.ribbon::after {
  display: block;
  z-index: -1;
  position: absolute;
  border: 5px solid #9b3727;
  content: ""; }

.ribbon span {
  display: block;
  position: absolute;
  width: 225px;
  padding: 0;
  background: #cc4b37;
  background: linear-gradient(0deg, #cc4b37 0%, #d66f5f 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  color: #fefefe;
  font-weight: bold;
  font-size: 0.6875rem;
  line-height: 32px;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  text-transform: uppercase;
  white-space: nowrap; }
  @media print, screen and (min-width: 80em) {
    .ribbon span {
      width: 350px;
      font-size: 1rem;
      line-height: 48px; } }

/* top left*/
.ribbon-top-left {
  top: -1rem;
  left: -1rem; }
  .product-gallery .ribbon-top-left {
    top: -0.5rem;
    left: -0.5rem; }

.ribbon-top-left::before,
.ribbon-top-left::after {
  border-top-color: transparent;
  border-left-color: transparent; }

.ribbon-top-left::before {
  top: 0;
  right: 0; }

.ribbon-top-left::after {
  bottom: 0;
  left: 0; }

.ribbon-top-left span {
  top: 47px;
  right: -28px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
  @media print, screen and (min-width: 80em) {
    .ribbon-top-left span {
      top: 70px;
      right: -47px; } }

.search-header__count {
  margin-top: 1.5rem; }
  .search-header__count p {
    margin: 0; }

.single-post .photo {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .single-post .photo {
      margin-bottom: 0; } }

.site-footer {
  position: relative;
  overflow: hidden;
  background: #407636;
  color: #fefefe; }
  .site-footer:before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5rem;
    margin-top: -5rem;
    box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    content: ''; }
  @media print, screen and (min-width: 48.875em) {
    .site-footer:after {
      position: absolute;
      top: 0;
      left: 50%;
      width: 50%;
      height: 100%;
      background: #03502C;
      content: ''; } }
  .site-footer a {
    color: currentColor; }
  .site-footer__top {
    z-index: 3;
    position: relative;
    font-size: 0.8125rem; }
    .site-footer__top h5.heading span span {
      display: block; }
    @media print, screen and (min-width: 40em) {
      .site-footer__top {
        font-size: 0.875rem; } }
    .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
      margin-top: 1.5rem; }
      @media print, screen and (min-width: 40em) and (max-width: 48.87375em) {
        .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
          margin-top: 0; } }
      @media print, screen and (min-width: 80em) {
        .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
          margin-top: 0; } }
    .site-footer__top > .grid-container > .grid-x > .cell:last-child {
      position: relative; }
      .site-footer__top > .grid-container > .grid-x > .cell:last-child:after {
        position: absolute;
        top: 0;
        right: -1.5rem;
        left: -1.5rem;
        height: 100%;
        background: #03502C;
        content: ''; }
        @media print, screen and (min-width: 48.875em) {
          .site-footer__top > .grid-container > .grid-x > .cell:last-child:after {
            content: none; } }
    .site-footer__top .padded-block {
      background: none; }
    .site-footer__top .button,
    .site-footer__top #gdpr-submit {
      margin-top: 1.5rem; }
      @media print, screen and (max-width: 39.99875em) {
        .site-footer__top .button,
        .site-footer__top #gdpr-submit {
          font-size: 0.75rem; } }
  .site-footer__bottom {
    position: relative;
    padding-top: 1rem;
    padding-bottom: 1rem;
    overflow: hidden;
    font-size: 0.8125rem; }
    @media print, screen and (min-width: 64em) {
      .site-footer__bottom {
        font-size: 0.75rem; } }
    .site-footer__bottom:before {
      z-index: 1;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 5rem;
      margin-top: -5rem;
      box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
      content: ''; }

.site-header {
  display: flex;
  z-index: 200;
  position: relative;
  flex-flow: row nowrap;
  align-items: center;
  margin-bottom: -2rem; }
  @media print, screen and (min-width: 48.875em) {
    .site-header {
      display: block; } }
  .site-header:before {
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 1.5rem;
    width: 100%;
    background: #03502C;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    content: ''; }
    @media print, screen and (min-width: 48.875em) {
      .site-header:before {
        bottom: 2rem;
        background: #407636; } }
  .site-header__masthead {
    flex: 1 1; }
  .site-header__utility {
    order: 10;
    margin-top: -1.5rem; }
    @media print, screen and (min-width: 48.875em) {
      .site-header__utility {
        position: relative;
        margin-top: 0;
        background: #03502C; } }

.site-search {
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0.35rem;
  transition: all 0.2s ease-in-out; }
  .hero .site-search {
    max-width: 500px;
    border: 1px solid #fefefe;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  .home .hero .site-search {
    margin-top: 3rem; }
  .site-search__form {
    display: flex;
    position: relative;
    flex-flow: row nowrap; }
    .site-search__form > div {
      display: flex;
      flex: 1 0 auto; }
      .site-search__form > div:last-child {
        flex: 0 1 auto; }
  .site-search__input {
    display: flex;
    position: relative;
    flex: 1 1; }
    .site-search__input input[type='text'] {
      flex: 1 0 auto;
      height: auto;
      margin: 0;
      padding-right: 1rem;
      padding-left: 1rem;
      border: 0;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      background: rgba(26, 26, 26, 0.8);
      box-shadow: none;
      color: #fefefe;
      transition: all 0.2s ease-in-out; }
      .l-main .site-search__input input[type='text'] {
        font-size: 1.375rem;
        line-height: 1.25rem; }
      .site-search__input input[type='text']::-webkit-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::-moz-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']:-ms-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::-ms-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']:focus {
        background: rgba(26, 26, 26, 0.95); }
  .site-search__submit button {
    padding: 0.5rem 1rem;
    border: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    box-shadow: none; }
    .l-main .site-search__submit button {
      padding: 1rem; }
    .site-search__submit button .hny-svg {
      width: 1rem;
      height: 1rem; }
      .l-main .site-search__submit button .hny-svg {
        width: 2rem;
        height: 2rem; }

@media print {
  *:before, *:after {
    background: rgba(255, 255, 255, 0) !important;
    box-shadow: none !important;
    color: #1a1a1a !important;
    text-shadow: none !important; }
  a[href]:after {
    content: none; }
  a[href^='tel']:after,
  a [href^='#']:after {
    content: ''; }
  a:visited {
    text-decoration: underline; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #1a1a1a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  .hny-svg {
    fill: #1a1a1a !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .recent-updates .grid-x .grid-x .cell:last-child {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%; }
  .product .cell.hide-for-print + .cell {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJtYWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiY29tbW9uL191dGlsLnNjc3MiLCJjb21tb24vX2FuaW1hdGlvbnMuc2NzcyIsImNvbW1vbi9fZ2xvYmFsLnNjc3MiLCJjb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2RyaWxsZG93bi1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19nZm9ybXMtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19oZWFkaW5ncy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fc2ltcGxlLWxpZ2h0Ym94LWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fc2xpY2stY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL190b2FzdC1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX3d5c2l3eWcuc2NzcyIsIm1vZHVsZXMvXzQwNC5zY3NzIiwibW9kdWxlcy9fYXJ0aWNsZS5zY3NzIiwibW9kdWxlcy9fYmFjay10by10b3Auc2NzcyIsIm1vZHVsZXMvX2Jyb2NodXJlcy5zY3NzIiwibW9kdWxlcy9fY2FsY3VsYXRvci5zY3NzIiwibW9kdWxlcy9fY2FyZC5zY3NzIiwibW9kdWxlcy9fY2FyZWVyLnNjc3MiLCJtb2R1bGVzL19jYXJlZXJzLnNjc3MiLCJtb2R1bGVzL19jaGVja2xpc3Quc2NzcyIsIm1vZHVsZXMvX2NoZWNrb3V0LnNjc3MiLCJtb2R1bGVzL19jb2xvcGhvbi5zY3NzIiwibW9kdWxlcy9fY29udGFjdC1saXN0LnNjc3MiLCJtb2R1bGVzL19jb250ZW50LWJsb2Nrcy5zY3NzIiwibW9kdWxlcy9fZmFxLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2dhbGxlcnkuc2NzcyIsIm1vZHVsZXMvX2dkcHIuc2NzcyIsIm1vZHVsZXMvX2dsb2JhbC1hbGVydC5zY3NzIiwibW9kdWxlcy9faGVhZGVyLXV0aWxpdHkuc2NzcyIsIm1vZHVsZXMvX2hlcm8uc2NzcyIsIm1vZHVsZXMvX2hueS1jYXJ0LnNjc3MiLCJtb2R1bGVzL19pbmxpbmUtaWNvbi5zY3NzIiwibW9kdWxlcy9fbGlzdGluZy5zY3NzIiwibW9kdWxlcy9fbG9hZGVyLnNjc3MiLCJtb2R1bGVzL19sb2dvLnNjc3MiLCJtb2R1bGVzL19tYXAuc2NzcyIsIm1vZHVsZXMvX21hc3RoZWFkLnNjc3MiLCJtb2R1bGVzL19taW5pLWNhcnQuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1uYXYuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS11dGlsaXR5LnNjc3MiLCJtb2R1bGVzL19wYWRkZWQtYmxvY2suc2NzcyIsIm1vZHVsZXMvX3Bob3RvLnNjc3MiLCJtb2R1bGVzL19wcmljZS5zY3NzIiwibW9kdWxlcy9fcHJpbWFyeS1uYXYuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3QtY2F0ZWdvcmllcy5zY3NzIiwibW9kdWxlcy9fcHJvZHVjdC1nYWxsZXJ5LnNjc3MiLCJtb2R1bGVzL19wcm9kdWN0LnNjc3MiLCJtb2R1bGVzL19yZWNlbnQtdXBkYXRlcy5zY3NzIiwibW9kdWxlcy9fcmliYm9uLnNjc3MiLCJtb2R1bGVzL19zZWFyY2gtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaW5nbGUtcG9zdC5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzIiwiY29tbW9uL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RURNRTtBRWlERiw0REFBTztBQUNQLDZFQUFPO0FBQ1AsMkVBQU87QUN1SEM7RUNuSU47SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWMsRUFBQSxFQUNmOztBQ2hERCwyRUFBQTtBQVFBO0VBRUUsOEJBQThCO0VBRDlCLGlCQUFpQixFQUNhOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUVFLGdCQUFnQjtFQURoQixjQUFjLEVBQ0U7O0FBU2xCO0VBQ0UsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUIsRUFBQTs7QUFNbkI7RUFFRSxjQUFjO0VBRGQsaUNBQWlDLEVBQ25COztBQVFoQjtFQUNFLDZCQUE2QixFQUFBOztBQU0vQjtFQUNFLG1CQUFtQjtF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O0VBMkNKLFdBdEVpQztFQWdDakMsY0FBYztFQURkLGVBQWUsRUEvQmtCO0VIakVuQztJRzRGQSxhQUFNLEVBQUE7RUg1Rk47SUc0RkEsY0FBTSxFQUFBOztBSGhGTjtFRzJIRSxXQWxGWSxFQUFBOztBSHpDZDtFRzJIRSxXQWxGWSxFQUFBOztBSHpCWjtFQU1JLGdCQUFnQixFQUFBOztBTmlIaEI7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5xSEM7RU01SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5xSEM7RU01SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QUFZSDtFRzZDRixjQUFNLEVBQUE7O0FIOUJGO0VHeUVGLGVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsVUNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixVQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLFVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsV0NuQnlELEVBQUE7O0FWK0JyRDtFTXpHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QU5rRkM7RU16R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FOa0ZDO0VNekdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBTmtGQztFTXpHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QU51RkM7RU05R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FOdUZDO0VNOUdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VBQ0UsWUFBWSxFQUFBOztBQThCZDtFRXZHTSxxQkFBNkQ7RUFBN0Qsb0JBQTZELEVBQUE7RUZ1R25FO0lHNkJFLHdCQXREOEY7SURyRTVGLG9CQUE2RDtJQUE3RCxtQkFBNkQsRUFBQTtFRnNFakU7SUdxREUsV0FsRlksRUFBQTtFSGlDZDtJR2lERSxXQWxGWSxFQUFBO0VIeUNaO0lHeUNBLDRCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0Esd0JBdEQ4RixFQUFBO0VUa0UxRjtJTWpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7RU53REc7SU10RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3Rjs7QUE4Q0g7RUUzSU0scUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBRm9KakU7RUVwSkkscUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBRjJJbkU7RUUzSU0scUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBR0FuRTtFRm9JRSxXQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFlDbkJ5RCxFQUFBOztBVitCckQ7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVhtSks7RVdySk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVhtSks7RVdySk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QUFGRDtFRm9JRSx3QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx5QkF0RDhGLEVBQUE7O0FUa0UxRjtFV2hKTjtJRm9JRSx3QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHlCQXREOEYsRUFBQSxFRTVFL0Y7O0FYOElLO0VXaEpOO0lGb0lFLHdCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUseUJBdEQ4RixFQUFBLEVFNUUvRjs7QVg4SUs7RVdoSk47SUZvSUUsd0JBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx5QkF0RDhGLEVBQUEsRUU1RS9GOztBWDhJSztFV2hKTjtJRm9JRSx3QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHlCQXREOEYsRUFBQSxFRTVFL0Y7O0FYbUpLO0VXckpOO0lGb0lFLHdCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUseUJBdEQ4RixFQUFBLEVFNUUvRjs7QVhtSks7RVdySk47SUZvSUUsd0JBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx5QkF0RDhGLEVBQUEsRUU1RS9GOztBTHFNRztFTTlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUE7RVYrQnJEO0lZNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDtFWjBITDtJWTVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RVowSEw7SVk1SEk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEO0VaMEhMO0lZNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDtFWitITDtJWWpJSTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RVorSEw7SVlqSUk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBTnVMUDtFTTdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0FaMkc5QjtFTXVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFTTZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FaeUdDO0VNdURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBWmdKQztFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VNNkRGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVp5R0M7RU11REY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FaZ0pDO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RU02REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBWnlHQztFTXVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFTTZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FaOEdDO0VNa0RGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBWnFKQztFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VNd0RGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVo4R0M7RU1rREY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FacUpDO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RU13REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBTm9MRDtFT3ZNRixlQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsOEJBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixxQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLG9DQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QWI0SHpCO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FONUVDO0VNc0VGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FONUVDO0VNc0VGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FBekpTO0VDdEVkLGFBQWE7RUFDYix3QkFINkIsRUFBQTtFRGlQN0I7SUcxSUEsWUFBbUI7SUFDbkIsZ0JBQTJCLEVBQUE7RUh5STNCO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJQTJCTSxnQkFBZ0IsRUFBQTtFTjVIaEI7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU54SEM7SU00Rk47TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU54SEM7SU00Rk47TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RUE1Qkw7SUd4SkEsY0FBTSxFQUFBO0VId0pOO0lHN0dFLGdCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxZQ25CeUQsRUFBQTtFVitCckQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU5ySkQ7SU00Rk47TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU5ySkQ7SU00Rk47TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7O0FBT0w7RUVqVEksbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBOztBRmlUakU7RUVqVEksbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBOztBRnVHbkU7RUV2R00sbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VGdUduRTtJRzZCRSx5QkF0RDhGO0lEckU1RixrQkFBNkQ7SUFBN0QscUJBQTZELEVBQUE7RUZzRWpFO0lHcURFLFlBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsWUFsRlksRUFBQTtFSHlDWjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHlCQXREOEYsRUFBQTtFVGtFMUY7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5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SGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTndERztJTXRFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7O0FBa1REO0VRNVlJLDBCQUFtQyxFQUFBO0VkNkluQztJTStQSjtNUTVZSSwwQkFBbUMsRUFBQSxFUjhZdEM7RU5qUUc7SU0rUEo7TVE1WUksMEJBQW1DLEVBQUEsRVI4WXRDO0VOalFHO0lNK1BKO01RNVlJLDBCQUFtQyxFQUFBLEVSOFl0QztFTmpRRztJTStQSjtNUTVZSSwwQkFBbUMsRUFBQSxFUjhZdEM7RU41UEc7SU0wUEo7TVE1WUksMEJBQW1DLEVBQUEsRVI4WXRDO0VONVBHO0lNMFBKO01RNVlJLDBCQUFtQyxFQUFBLEVSOFl0Qzs7QU5qUUc7RU1tUUY7SVFoWkUsMEJBQW1DLEVBQUEsRVJrWnBDOztBTnJRQztFTW1RRjtJUWhaRSwwQkFBbUMsRUFBQSxFUmtacEM7O0FOclFDO0VNbVFGO0lRaFpFLDBCQUFtQyxFQUFBLEVSa1pwQzs7QU5yUUM7RU1tUUY7SVFoWkUsMEJBQW1DLEVBQUEsRVJrWnBDOztBTmhRQztFTThQRjtJUWhaRSwwQkFBbUMsRUFBQSxFUmtacEM7O0FOaFFDO0VNOFBGO0lRaFpFLDBCQUFtQyxFQUFBLEVSa1pwQzs7QVNsTkw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUtFLGtDWDFGeUM7RVdzRnpDLHFCWHZGNEI7RVd5RjVCLGtCQUFrQjtFQUNsQixnQlgxTG1CLEVBaUdzQjs7QVc4RjNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VBRUUsaUJYbkxxQjtFV29MckIsb0JBQW9CLEVBQUE7O0FidEx0QjtFYTJMRSxjWGpIaUI7RVdrSGpCLG9CQUFvQixFQUFBOztBQUl0Qjs7Ozs7O0VBVUUsa0NYaklzQztFV2dJdEMsY1h0SmtCO0VXb0psQixrQlh0SnNCO0VXdUp0QixtQlh2TXlCO0VXcU16QixvTFgxTXNMLEVBNkVoSjtFV3VIeEM7Ozs7OztJQWNJLGNYeE5lO0lXdU5mLGNBQWMsRVh2TkM7O0FXaU9iO0VBd0JJLGFBQWE7RUFPYixtQlhqTWU7RVdzS2YsaUJDM042QztFRHVPN0MsaUJYbkxZLEVBQ0c7O0FXa0tuQjtFQXdCSSxhQUFhO0VBT2IsbUJYak1lO0VXc0tmLG1CQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBV2tLbkI7RUF3QkksYUFBYTtFQU9iLG1CWGpNZTtFV3NLZixtQkMzTjZDO0VEdU83QyxpQlhuTFksRUFDRzs7QVdrS25CO0VBd0JJLGFBQWE7RUFPYixtQlhqTWU7RVdzS2YsbUJDM042QztFRHVPN0MsaUJYbkxZLEVBQ0c7O0FXa0tuQjtFQXdCSSxhQUFhO0VBT2IsbUJYak1lO0VXc0tmLG9CQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBV2tLbkI7RUF3QkksYUFBYTtFQU9iLG1CWGpNZTtFV3NLZixlQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBSm1DbkI7RWUrSEE7SUFJSSxrQkMzTjZDLEVBQUE7RUR1TmpEO0lBSUksbUJDM042QyxFQUFBO0VEdU5qRDtJQUlJLGtCQzNONkMsRUFBQTtFRHVOakQ7SUFJSSxtQkMzTjZDLEVBQUEsRUR3UGhEOztBZmhLRDtFZStIQTtJQUlJLGlCQzNONkMsRUFBQSxFRHdQaEQ7O0FieFJQO0VhZ1NFLGNYaFJnQjtFVytRaEIsb0JBQW9CO0VBRXBCLHFCWDFLeUI7RVc0S3pCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNYNVFtQixFQUFBO0VXbVF2QjtJQWdCSSxTQUFTLEVBQUE7O0FialViO0VheVVFLGlCWDFTaUI7RVcyU2pCLFNBQVM7RUFDVCxvQlg3THlCO0VXeUx6QixXQUFXO0VBTVgsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1h0U2lCO0VXdVNqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxxQlh2TjRCO0VXeU41QixnQlh6VG1CO0VXd1RuQiw0Qlh0TXlCLEVBbEhOOztBVzZUckI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlhoTnNCO0VXaU50QixxQlhuTmtCLEVBQUE7O0FXdU5wQjtFQUNFLG9CWHROc0IsRUFBQTs7QVcwTnhCO0VBR0ksZ0JBQWdCO0VBRGhCLG9CWDNOMkIsRVc0Tlg7O0FBS3BCO0VBQ0UsbUJYak95QixFQUFBO0VXZ08zQjtJQUlJLHFCWGxPOEI7SVdtTzlCLGlCWHJVbUIsRUFBQTs7QVcwVXZCO0VBQ0Usa0JYaFE0QjtFV2lRNUIsc0NDOVVxRDtFRCtVckQsOEJYelZpQixFQUFBO0VXc1ZuQjtJQU9JLGNYNVZhO0lXMlZiLGdCWHJXaUIsRUFVSjs7QVcwV2pCO0VBQ0UsaUNYMVdXO0VXNFdYLHFCQUFxQjtFQURyQixZQUFZLEVBQ1M7O0FBSXZCO0VBQ0UsU0FBUyxFQUFBOztBQVdYO0VBQ0UsU0FBUztFQUNULDJCQ2pYUztFRHlYUCxzQlgzWGlCO0VXcVhuQix5QlhuWWdCO0VXc1loQixjWG5ZVztFV2tZWCw0RFh4VW1FLEVBL0NoRDs7QWEwQ3JCO0VBQ0Usa0JiNEV5QjtFYTNFekIscUJiNEU0QjtFYXhFNUIsY2I1RGU7RWEwRGYsbUJiaER5QjtFYWlEekIsaUJiRW9CLEVBN0RMOztBYWdFakI7RUFDRSxlYjZEcUM7RWE1RHJDLGtCYjZEbUIsRUFBQTs7QWF6RHJCO0VBQ0UsaUJiOERtQjtFYTdEbkIsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFJckI7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFqRkEsY0FBYztFQUNkLGNiUGlCO0VhUWpCLG9CREN1RCxFQUFBO0VDQ3ZEO0lBQ0UsYWJ3R2tCLEVBQWE7O0FheEJqQztFQTVEQSxxQkFBcUI7RUFGckIsZUFBZTtFQUNmLGVBQWU7RUFHZixxQ0R4QnVEO0VDU3ZELHlCYm5CbUI7RWFvQm5CLHlCYnJCa0I7RWF5QmxCLGNidEJhO0VhcUJiLG1CYloy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QW5Ea0IsRURvR0s7O0FBTW5CO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBbkNtRVY7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNxRUM7RW1DdkVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJ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bERaO1FBNkJLLGtDOUZvQk8sRUFBQTtFOEZmWjtJQUVHLG9CQUFvQjtJQUNwQixTQUFTO0lBQ1QseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QixnQkFBZ0IsRUFBQTtJQUVoQjtNQUNFLGFBQWEsRUFBQTtJQVRsQjtNQWFLLFdBQVc7TUFDWCxZQUFZLEVBQUE7TUFFWjtRQUNFLFdBQVc7UUFDWCxZQUFZLEVBQUE7O0FDbkZ0QjtFQUNFO0lBR0ksNkNBQTZDO0lBRzdDLDJCQUEyQjtJQUYzQix5QkFBd0I7SUFDeEIsNEJBQTRCLEVBQ0Q7RWhGNEMzQjtJZ0ZyQ0UsYUFBYSxFQUFBO0VBSG5COztJQVdNLFdBQVcsRUFBQTtFQVhqQjtJQWdCSSwwQkFBMEIsRUFBQTtFaEZpQzVCO0lnRjFCSSw2QkFBNkIsRUFBQTtFaEY2QmpDOztJZ0Z0QkEseUIvRnVDVztJK0Z0Q1gsd0JBQXdCLEVBQUE7RWhGNEJ4QjtJZ0Z4QkEsMkJBQTJCLEVBQUE7RWhGMEIzQjs7SWdGckJBLHdCQUF3QixFQUFBO0VqR2lFMUI7SWlHN0RFLDBCQUEwQixFQUFBO0VuRHZEOUI7SW1EMkRJLHdCQUF1QixFQUFBO0VoRm9CdkI7OztJZ0ZkQSxVQUFVO0lBQ1YsU0FBUyxFQUFBO0VoRnFCVDs7SWdGaEJBLHVCQUF1QixFQUFBO0VBR3pCO0lBTVEsY0FBYztJQUZkLFdBQVc7SUFDWCxlQUFlLEVBQ0Q7RUFNdEI7SUFLTSxjQUFjO0lBRmQsV0FBVztJQUNYLGVBQWUsRUFDRCxFQUNmIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBpbXBvcnQgdXJsKC4uLy4uL25vZGVfbW9kdWxlcy9zd2lwZXIvc3dpcGVyLWJ1bmRsZS5taW4uY3NzKTtcbkBpbXBvcnQgdXJsKC4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnktdG9hc3QtcGx1Z2luL2Rpc3QvanF1ZXJ5LnRvYXN0Lm1pbi5jc3MpO1xuQGltcG9ydCB1cmwoLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1saWdodGJveC9kaXN0L3NpbXBsZUxpZ2h0Ym94Lm1pbi5jc3MpO1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJnRhYmxldD00OC44NzVlbSZsYXJnZT02NGVtJnhsYXJnZT04MGVtJnh4bGFyZ2U9MTAzLjEyNWVtJndpZGU9MTIwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgZm9udC1mYW1pbHk6IFwiY2FlY2lsaWEtc2Fucy10ZXh0XCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLXggPiAudGFibGV0LXNocmluaywgLmdyaWQteCA+IC50YWJsZXQtZnVsbCwgLmdyaWQteCA+IC50YWJsZXQtMSwgLmdyaWQteCA+IC50YWJsZXQtMiwgLmdyaWQteCA+IC50YWJsZXQtMywgLmdyaWQteCA+IC50YWJsZXQtNCwgLmdyaWQteCA+IC50YWJsZXQtNSwgLmdyaWQteCA+IC50YWJsZXQtNiwgLmdyaWQteCA+IC50YWJsZXQtNywgLmdyaWQteCA+IC50YWJsZXQtOCwgLmdyaWQteCA+IC50YWJsZXQtOSwgLmdyaWQteCA+IC50YWJsZXQtMTAsIC5ncmlkLXggPiAudGFibGV0LTExLCAuZ3JpZC14ID4gLnRhYmxldC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC14ID4gLndpZGUtc2hyaW5rLCAuZ3JpZC14ID4gLndpZGUtZnVsbCwgLmdyaWQteCA+IC53aWRlLTEsIC5ncmlkLXggPiAud2lkZS0yLCAuZ3JpZC14ID4gLndpZGUtMywgLmdyaWQteCA+IC53aWRlLTQsIC5ncmlkLXggPiAud2lkZS01LCAuZ3JpZC14ID4gLndpZGUtNiwgLmdyaWQteCA+IC53aWRlLTcsIC5ncmlkLXggPiAud2lkZS04LCAuZ3JpZC14ID4gLndpZGUtOSwgLmdyaWQteCA+IC53aWRlLTEwLCAuZ3JpZC14ID4gLndpZGUtMTEsIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuZ3JpZC14ID4gLnRhYmxldC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LXNocmluaywgLmdyaWQteCA+IC50YWJsZXQtMSwgLmdyaWQteCA+IC50YWJsZXQtMiwgLmdyaWQteCA+IC50YWJsZXQtMywgLmdyaWQteCA+IC50YWJsZXQtNCwgLmdyaWQteCA+IC50YWJsZXQtNSwgLmdyaWQteCA+IC50YWJsZXQtNiwgLmdyaWQteCA+IC50YWJsZXQtNywgLmdyaWQteCA+IC50YWJsZXQtOCwgLmdyaWQteCA+IC50YWJsZXQtOSwgLmdyaWQteCA+IC50YWJsZXQtMTAsIC5ncmlkLXggPiAudGFibGV0LTExLCAuZ3JpZC14ID4gLnRhYmxldC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC14ID4gLndpZGUtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLndpZGUtc2hyaW5rLCAuZ3JpZC14ID4gLndpZGUtMSwgLmdyaWQteCA+IC53aWRlLTIsIC5ncmlkLXggPiAud2lkZS0zLCAuZ3JpZC14ID4gLndpZGUtNCwgLmdyaWQteCA+IC53aWRlLTUsIC5ncmlkLXggPiAud2lkZS02LCAuZ3JpZC14ID4gLndpZGUtNywgLmdyaWQteCA+IC53aWRlLTgsIC5ncmlkLXggPiAud2lkZS05LCAuZ3JpZC14ID4gLndpZGUtMTAsIC5ncmlkLXggPiAud2lkZS0xMSwgLmdyaWQteCA+IC53aWRlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLndpZGUtc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJsZXQtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC50YWJsZXQtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC50YWJsZXQtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAud2lkZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLndpZGUtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAud2lkZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAudGFibGV0LXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC53aWRlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnRhYmxldC1zaHJpbmssIC5ncmlkLXkgPiAudGFibGV0LWZ1bGwsIC5ncmlkLXkgPiAudGFibGV0LTEsIC5ncmlkLXkgPiAudGFibGV0LTIsIC5ncmlkLXkgPiAudGFibGV0LTMsIC5ncmlkLXkgPiAudGFibGV0LTQsIC5ncmlkLXkgPiAudGFibGV0LTUsIC5ncmlkLXkgPiAudGFibGV0LTYsIC5ncmlkLXkgPiAudGFibGV0LTcsIC5ncmlkLXkgPiAudGFibGV0LTgsIC5ncmlkLXkgPiAudGFibGV0LTksIC5ncmlkLXkgPiAudGFibGV0LTEwLCAuZ3JpZC15ID4gLnRhYmxldC0xMSwgLmdyaWQteSA+IC50YWJsZXQtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLXkgPiAud2lkZS1zaHJpbmssIC5ncmlkLXkgPiAud2lkZS1mdWxsLCAuZ3JpZC15ID4gLndpZGUtMSwgLmdyaWQteSA+IC53aWRlLTIsIC5ncmlkLXkgPiAud2lkZS0zLCAuZ3JpZC15ID4gLndpZGUtNCwgLmdyaWQteSA+IC53aWRlLTUsIC5ncmlkLXkgPiAud2lkZS02LCAuZ3JpZC15ID4gLndpZGUtNywgLmdyaWQteSA+IC53aWRlLTgsIC5ncmlkLXkgPiAud2lkZS05LCAuZ3JpZC15ID4gLndpZGUtMTAsIC5ncmlkLXkgPiAud2lkZS0xMSwgLmdyaWQteSA+IC53aWRlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnRhYmxldC1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC1zaHJpbmssIC5ncmlkLXkgPiAudGFibGV0LTEsIC5ncmlkLXkgPiAudGFibGV0LTIsIC5ncmlkLXkgPiAudGFibGV0LTMsIC5ncmlkLXkgPiAudGFibGV0LTQsIC5ncmlkLXkgPiAudGFibGV0LTUsIC5ncmlkLXkgPiAudGFibGV0LTYsIC5ncmlkLXkgPiAudGFibGV0LTcsIC5ncmlkLXkgPiAudGFibGV0LTgsIC5ncmlkLXkgPiAudGFibGV0LTksIC5ncmlkLXkgPiAudGFibGV0LTEwLCAuZ3JpZC15ID4gLnRhYmxldC0xMSwgLmdyaWQteSA+IC50YWJsZXQtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQteSA+IC53aWRlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS1zaHJpbmssIC5ncmlkLXkgPiAud2lkZS0xLCAuZ3JpZC15ID4gLndpZGUtMiwgLmdyaWQteSA+IC53aWRlLTMsIC5ncmlkLXkgPiAud2lkZS00LCAuZ3JpZC15ID4gLndpZGUtNSwgLmdyaWQteSA+IC53aWRlLTYsIC5ncmlkLXkgPiAud2lkZS03LCAuZ3JpZC15ID4gLndpZGUtOCwgLmdyaWQteSA+IC53aWRlLTksIC5ncmlkLXkgPiAud2lkZS0xMCwgLmdyaWQteSA+IC53aWRlLTExLCAuZ3JpZC15ID4gLndpZGUtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtOyB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAudGFibGV0LWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJsZXQtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC50YWJsZXQtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnRhYmxldC1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC50YWJsZXQtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC53aWRlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53aWRlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC53aWRlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmdyaWQteS50YWJsZXQtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC15LndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS50YWJsZXQtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkud2lkZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS53aWRlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcImNhZWNpbGlhLXNhbnMtdGV4dFwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzg5OTM5QjsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogNC4yNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjNDA3NjM2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODk5MzlCO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjODk5MzlCOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzFhMWExYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNTsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRhYmxldC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGFibGV0LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRhYmxldC10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC53aWRlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC53aWRlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLndpZGUtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuI2dkcHItc3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg5NXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAjZ2Rwci1zdWJtaXQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55LFxuICAudGlueSNnZHByLXN1Ym1pdCB7XG4gICAgZm9udC1zaXplOiAwLjg5NXJlbTsgfVxuICAuYnV0dG9uLnNtYWxsLFxuICAuc21hbGwjZ2Rwci1zdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLFxuICAubGFyZ2UjZ2Rwci1zdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLFxuICAuZXhwYW5kZWQjZ2Rwci1zdWJtaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuICAjZ2Rwci1zdWJtaXQsIC5idXR0b24uZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0sXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsXG4gIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzUwMkM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlcixcbiAgI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uOmZvY3VzLFxuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjNjMjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLFxuICAucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSxcbiAgLnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsXG4gIC5wcmltYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cyxcbiAgLnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsXG4gIC5wcmltYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzNTAyQztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsXG4gIC5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsXG4gIC5wcmltYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI0MDIzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LFxuICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCxcbiAgLnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsXG4gIC5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlcixcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsXG4gIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3NjM2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzNWUyYjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0LCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsXG4gIC5zdWNjZXNzLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLFxuICAuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlcixcbiAgLnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyxcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY5NTRDO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlcixcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyxcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc3M2Q7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLFxuICAud2FybmluZyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLFxuICAud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSxcbiAgLndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsXG4gIC53YXJuaW5nLmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLFxuICAud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cyxcbiAgLndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsXG4gIC53YXJuaW5nI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsXG4gIC53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsXG4gIC53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC5idXR0b24uYWxlcnQsXG4gIC5hbGVydCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCxcbiAgLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSxcbiAgLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlcixcbiAgLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlcixcbiAgLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cyxcbiAgLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLFxuICAuYWxlcnQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsXG4gIC5hbGVydCNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyxcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLFxuICAuaG9sbG93I2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCxcbiAgLmhvbGxvdy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsXG4gIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLFxuICAuaG9sbG93LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdyxcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsXG4gIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSxcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cyxcbiAgLmhvbGxvdy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAzNTAyQztcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlcixcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAyMjgxNjtcbiAgICBjb2xvcjogIzAyMjgxNjsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LFxuICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsXG4gIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sXG4gIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsXG4gIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsXG4gIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzUwMkM7XG4gICAgY29sb3I6ICMwMzUwMkM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcixcbiAgLmhvbGxvdy5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLFxuICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAyMjgxNjtcbiAgICBjb2xvcjogIzAyMjgxNjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksXG4gIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAuaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlcixcbiAgLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDA3NjM2O1xuICAgIGNvbG9yOiAjNDA3NjM2OyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcixcbiAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyxcbiAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzIwM2IxYjtcbiAgICBjb2xvcjogIzIwM2IxYjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLFxuICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsXG4gIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sXG4gIC5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsXG4gIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsXG4gIC5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0Njk1NEM7XG4gICAgY29sb3I6ICM0Njk1NEM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcixcbiAgLmhvbGxvdy5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLFxuICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzIzNGIyNjtcbiAgICBjb2xvcjogIzIzNGIyNjsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLFxuICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsXG4gIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sXG4gIC5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsXG4gIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsXG4gIC5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcixcbiAgLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLFxuICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCxcbiAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsXG4gIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSxcbiAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93LmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06aG92ZXIsXG4gIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cyxcbiAgLmhvbGxvdy5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcixcbiAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsXG4gIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmNsZWFyLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXI6aG92ZXIsXG4gIC5jbGVhciNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyxcbiAgLmNsZWFyI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLFxuICAuY2xlYXIuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsXG4gIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cyxcbiAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSxcbiAgLmNsZWFyI2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhciNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsXG4gIC5jbGVhciNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCxcbiAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSxcbiAgLmNsZWFyI2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlcixcbiAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyI2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cyxcbiAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMzUwMkM7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlcixcbiAgLmNsZWFyI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDIyODE2OyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSxcbiAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCxcbiAgLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sXG4gIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLFxuICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDM1MDJDOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcixcbiAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyxcbiAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDIyODE2OyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LFxuICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCxcbiAgLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsXG4gIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsXG4gIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzQwNzYzNjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcixcbiAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsXG4gIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjAzYjFiOyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcyxcbiAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCxcbiAgLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sXG4gIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLFxuICAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLFxuICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcixcbiAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyxcbiAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjM0YjI2OyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZyxcbiAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCxcbiAgLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sXG4gIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLFxuICAuY2xlYXIud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci53YXJuaW5nLmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLFxuICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcixcbiAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyxcbiAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsXG4gIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCxcbiAgLmNsZWFyLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSxcbiAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlcixcbiAgLmNsZWFyLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlcixcbiAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cyxcbiAgLmNsZWFyLmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcixcbiAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLFxuICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbltkaXNhYmxlZF0sXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlcixcbiAgLmRyb3Bkb3duI2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMi41ZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93I2dkcHItc3VibWl0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5jbGVhciNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMzUwMkM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAzNTAyQzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlcixcbiAgLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0MDc2MzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzQ2OTU0QzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlcixcbiAgLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlcixcbiAgLmRyb3Bkb3duLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlcixcbiAgLmRyb3Bkb3duLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyLFxuICAuZHJvcGRvd24uY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsXG4gIC5hcnJvdy1vbmx5I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsXG5hI2dkcHItc3VibWl0OmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyxcbmEjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMWExYTFhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0Njk1NEM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggIzQ2OTU0QztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjODk5MzlCOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMWExYTFhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW0gMCAwIDAuMzVyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMC4zNXJlbSAwLjM1cmVtIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBjb2xvcjogIzFhMWExYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzFhMWExYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDY5NTRDO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM0Njk1NEM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAzcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDguODczNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuaGlkZS1mb3ItdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gIC5zaG93LWZvci10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXRhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci10YWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSBhbmQgKG1heC13aWR0aDogMTAzLjEyMzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMy4xMjM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMuMTIzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmhpZGUtZm9yLXdpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci13aWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuaGlkZS1mb3Itd2lkZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3Itd2lkZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAudGFibGV0LW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC50YWJsZXQtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnRhYmxldC1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAudGFibGV0LW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC50YWJsZXQtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLndpZGUtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLndpZGUtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLndpZGUtb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLndpZGUtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLndpZGUtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50YWJsZXQtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAudGFibGV0LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnRhYmxldC1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnRhYmxldC1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnRhYmxldC1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC50YWJsZXQtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50YWJsZXQtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAud2lkZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC53aWRlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLndpZGUtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC53aWRlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAud2lkZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC53aWRlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAud2lkZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxubGFiZWwuY2hlY2tib3ggaW5wdXRbdHlwZT0ncmFkaW8nXSxcbmxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J10sIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIgaSxcbi5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIgbGFiZWwsXG4uaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9taW51dGUgaSxcbi5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSBsYWJlbCwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9yZXF1aXJlZF9sZWdlbmQsXG4udS1zY3JlZW4tcmVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7IH1cblxuXG4udS1jbGVhcmZpeDo6YmVmb3JlLFxuLnUtY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuXG4udS1jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ud3lzaXd5ZyBhOm5vdChbaHJlZiQ9XCIucGRmXCJdKVt0YXJnZXQ9J19ibGFuayddOmFmdGVyLFxuLnUtZXh0ZXJuYWwtbGluazphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmsuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweDtcbiAgY29udGVudDogJyc7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnBhZGRlZC1ibG9jayAud3lzaXd5ZyBhOm5vdChbaHJlZiQ9XCIucGRmXCJdKVt0YXJnZXQ9J19ibGFuayddOmFmdGVyLCAud3lzaXd5ZyAucGFkZGVkLWJsb2NrIGE6bm90KFtocmVmJD1cIi5wZGZcIl0pW3RhcmdldD0nX2JsYW5rJ106YWZ0ZXIsIC5wYWRkZWQtYmxvY2tcbiAgLnUtZXh0ZXJuYWwtbGluazphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmstYWx0LnN2Z1wiKTsgfVxuXG5cbi51LXBob3RvLWJnLCAuYnJvY2h1cmVzX19pdGVtIGZpZ3VyZSwgLmNhcmRfX3Bob3RvIGZpZ3VyZSwgLmdhbGxlcnkgZmlndXJlLCAuaGVyby0tbGFuZGluZywgLmhlcm8gZmlndXJlLCAubWFwIGZpZ3VyZSwgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSA+IGZpZ3VyZSwgLnByb2R1Y3QtZ2FsbGVyeV9fc2xpZGVyIC5zd2lwZXItc2xpZGUgZmlndXJlLCAucmVjZW50LXVwZGF0ZXMgZmlndXJlLFxuLnUtYmctY292ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuXG4udS1iZy1jb250YWluIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuXG4udS1iZy0xMDAge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuXG4udS1zdmctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwOyB9XG4gIC51LXN2Zy1jb250YWluZXIgaW1nLFxuICAudS1zdmctY29udGFpbmVyIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAudS1zdmctY29udGFpbmVyLS1sb2dvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODkuNDA5MjklOyB9XG5cblxuLnUtcGhvdG8tYmcge1xuICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2NjclOyB9XG4gIFxuICAudS1waG90by1iZy0tc3F1YXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICBcbiAgLnUtcGhvdG8tYmctLWV4dGVuZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgXG4gICAgICAudS1waG90by1iZy0tZXh0ZW5kLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pOyB9IH1cbiAgXG4gIC51LXBob3RvLWJnLS1leHRlbmQtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgXG4gICAgICAudS1waG90by1iZy0tZXh0ZW5kLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC01MHZ3ICsgMTAwJSArIDEuNXJlbSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5odG1sIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMTA2LjI1JTsgfSB9XG5cbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25jcmV0ZV9zZWFtbGVzcy5wbmdcIik7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgYm9keS5hZG1pbi1iYXIge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgYm9keS5hZG1pbi1iYXIge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7IH0gfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxubGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogIzQwNzYzNjsgfVxuXG5maWd1cmVbZGF0YS1iZ10ge1xuICBvcGFjaXR5OiAwOyB9XG4gIGZpZ3VyZVtkYXRhLWJnXSxcbiAgZmlndXJlW2RhdGEtYmddICsgZmlndXJlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IH1cbiAgZmlndXJlW2RhdGEtYmddLmxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGZpZ3VyZVtkYXRhLWJnXS5sb2FkZWQgfiAubG9hZGVyLFxuICAgIGZpZ3VyZVtkYXRhLWJnXS5sb2FkZWQgKyBmaWd1cmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuXG5wLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wMWVtIGN1cnJlbnRDb2xvcjtcbiAgLyogb3IgMC4wMWVtIG1pZ2h0IGJlIGJldHRlciAqLyB9XG4gIC5icmVhZGNydW1ic19faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmJyZWFkY3J1bWJzX19pdGVtcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLmJyZWFkY3J1bWJzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuYnJlYWRjcnVtYnNfX2l0ZW0gPiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5icmVhZGNydW1ic19fc2VwYXJhdG9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9IH1cblxuLmJ1dHRvbi1ncm91cC0tY2VudGVyZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwIC5idXR0b24sXG4gIC5idXR0b24tZ3JvdXAgI2dkcHItc3VibWl0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAgI2dkcHItc3VibWl0ICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLFxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uICsgI2dkcHItc3VibWl0LFxuLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uICsgI2dkcHItc3VibWl0LFxuLmJ1dHRvbi1ncm91cCAjZ2Rwci1zdWJtaXQgKyAjZ2Rwci1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b24gKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwICNnZHByLXN1Ym1pdCArIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0ICsgLmJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uICsgI2dkcHItc3VibWl0LFxuICAgIC5idXR0b24tZ3JvdXAgI2dkcHItc3VibWl0ICsgI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9IH1cblxuYnV0dG9uLCAuYnV0dG9uLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuI2dkcHItc3VibWl0IHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmJ1dHRvbiwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiNnZHByLXN1Ym1pdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMwMzUwMkM7XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5idXR0b24gLmhueS1zdmcsICNnZHByLXN1Ym1pdCAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDEuNzVlbTtcbiAgICBoZWlnaHQ6IDEuNzVlbTtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgIC5idXR0b24gLmhueS1zdmcgKyBzcGFuLCAjZ2Rwci1zdWJtaXQgLmhueS1zdmcgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5idXR0b24gc3BhbiArIC5obnktc3ZnLCAjZ2Rwci1zdWJtaXQgc3BhbiArIC5obnktc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuYnV0dG9uOmFmdGVyLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmFmdGVyLFxuICAjZ2Rwci1zdWJtaXQ6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMzA1OTI5IDAlLCByZ2JhKDcsIDE4MywgMTAxLCAwLjg1KSA5NSUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAuYnV0dG9uOmhvdmVyIC5obnktc3ZnLCAjZ2Rwci1zdWJtaXQ6aG92ZXIgLmhueS1zdmcge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJ1dHRvbjpob3ZlcjphZnRlcixcbiAgI2dkcHItc3VibWl0OmhvdmVyOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDUpOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LFxuICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODk5MzlCOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6YWZ0ZXIsXG4gICAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNiwgMjYsIDI2LCAwLjUpIDAlLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNCkgNzUlKTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0IHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpmb2N1cyxcbiAgICAuc3VjY2VzcyNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLFxuICAgIC5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSxcbiAgLnRpbnkjZ2Rwci1zdWJtaXQge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuYnV0dG9uLmlzLWxvYWRpbmcgPiBzcGFuOm5vdCgubG9hZGVyKSwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmlzLWxvYWRpbmcuYnV0dG9uID4gc3Bhbjpub3QoLmxvYWRlciksIC5pcy1sb2FkaW5nI2dkcHItc3VibWl0ID4gc3Bhbjpub3QoLmxvYWRlcikge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5idXR0b24uaXMtbG9hZGluZyA+IHNwYW4ubG9hZGVyLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuaXMtbG9hZGluZy5idXR0b24gPiBzcGFuLmxvYWRlciwgLmlzLWxvYWRpbmcjZ2Rwci1zdWJtaXQgPiBzcGFuLmxvYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5idXR0b24gLmxvYWRlciwgI2dkcHItc3VibWl0IC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmlzLW1vYmlsZS1uYXYtb3BlbiAuaXMtZHJpbGxkb3duIHtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmlzLWRyaWxsZG93biAqIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaXMtZHJpbGxkb3duIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6Zm9jdXM6QWZ0ZXIsIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpob3ZlcjpBZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAuaXMtZHJpbGxkb3duIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaXMtZHJpbGxkb3duIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbmxhYmVsLmNoZWNrYm94IHNwYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgbGFiZWwuY2hlY2tib3ggc3BhbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG5cbmxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9J3JhZGlvJ10gKyBzcGFuOmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG5sYWJlbC5jaGVja2JveCBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSxcbmxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM1MDJDO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzAzNTAyQyBpbnNldDsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNXJlbSAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4uaG55IC5nZl9icm93c2VyX2llLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXG4uaG55IC5nZl9icm93c2VyX2llLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dCNnZHByLXN1Ym1pdCB7XG4gIHBhZGRpbmc6IDEuMjVlbSAyLjVlbTsgfVxuXG4uaG55IC5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGgxLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGgyLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuaG55IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IDAgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweCAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgZm9ybTo6YmVmb3JlLCAuaG55IC5nZm9ybV93cmFwcGVyIGZvcm06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGZvcm06OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbCB0YWJsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9odG1sIHRhYmxlICoge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiY2FlY2lsaWEtc2Fucy10ZXh0XCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbCB0YWJsZSB0aCB7XG4gICAgICBjb2xvcjogIzQ4NDg0OCAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2h0bWwgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg5OTM5QjtcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLnN0cm9uZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY5NTRDO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguZ29vZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgubWlzbWF0Y2gsIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5zaG9ydCwgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLmJhZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBoMy5nZm9ybV90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkICsgLmdzZWN0aW9uLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmbWMtY29sdW1uICsgLmdzZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGgyLmdzZWN0aW9uX3RpdGxlIHtcbiAgICBjb2xvcjogIzAzNTAyQztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LWZhbWlseTogXCJjYWVjaWxpYS1zYW5zLXRleHRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lci5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3Byb2R1Y3RfcHJpY2UsIC5obnkgLmdmb3JtX3dyYXBwZXIgc3Bhbi5naW5wdXRfdG90YWwge1xuICAgIGNvbG9yOiAjNDY5NTRDO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9taW51dGUge1xuICAgIG1heC13aWR0aDogY2FsYyg0cmVtICsgLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9taW51dGUgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweCAhaW1wb3J0YW50OyB9IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkZXh0cmFzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZF9zZWN1cml0eV9jb2RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZDpub3QoLmdmaWVsZF92aXNpYmlsaXR5X2hpZGRlbikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfcXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB3aWR0aDogNC4yNXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gbGkgbGFiZWwsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBsYWJlbCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjYyNXJlbTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBsYWJlbDpiZWZvcmUsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGxhYmVsOmJlZm9yZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gbGkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gbGkgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzNTAyQztcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzAzNTAyQyBpbnNldDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gbGkgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBsYWJlbDpiZWZvcmUsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9jZWxsIGlucHV0LFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9jZWxsIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvLCAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgZGl2LmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQgaW5wdXQubWVkaXVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfcHJldmlldyBpbWc6bm90KC5nZm9ybV9kZWxldGUpIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgbGFiZWwgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBsYWJlbDplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgPiBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5oaWRkZW5fbGFiZWwgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuaGlkZGVuX2xhYmVsIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBzZWxlY3Qge1xuICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHNlbGVjdCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB0ZXh0YXJlYSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHNlbGVjdCArIGxhYmVsLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdGV4dGFyZWEgKyBsYWJlbCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGlucHV0ICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgLm5vLW1heC1oZWlnaHQgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdGV4dGFyZWEge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHNlbGVjdCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtM3B4IDAgMCAjY2M0YjM3OyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgY29sb3I6ICNjYzRiMzc7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuaW5zdHJ1Y3Rpb24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5pbnN0cnVjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfZGF0ZSBpbWcudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0LmxhcmdlLmRhdGVwaWNrZXIsIC5obnkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0uZGF0ZXBpY2tlciwgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0LnNtYWxsLmRhdGVwaWNrZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2FqYXhfc3Bpbm5lcixcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm0tbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24gKyAuYnV0dG9uLCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uICsgLmJ1dHRvbiwgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0ICsgLmJ1dHRvbixcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uICsgI2dkcHItc3VibWl0LFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0ICsgI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbixcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uI2dkcHItc3VibWl0LCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbixcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuZGVub3Rlcy1yZXF1aXJlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjOGE4YThhO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmRlbm90ZXMtcmVxdWlyZWQ6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQjZ2Rwci1zdWJtaXQsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgI2dkcHItc3VibWl0LFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLmNob3Nlbi1zZWFyY2gtaW5wdXQge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ2OTU0QztcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmhueS1kYXRlLXRpbWUtbGlzdCB0YWJsZSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5obnktZGF0ZS10aW1lLWxpc3QgdGFibGUgdHIgdGQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5obnktZGF0ZS10aW1lLWxpc3QgdGFibGUgdHIgdGQgKyB0ZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLmhueSAuZ2Zvcm1fZGVsZXRlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5obnkgLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICB6LWluZGV4OiA5OTk5OTk5OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjI1ZW0gMi41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44OTVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0uZGlzYWJsZWQsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXVtkaXNhYmxlZF0sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXS5kaXNhYmxlZDpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdW2Rpc2FibGVkXTpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdLmRpc2FibGVkOmZvY3VzLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl1bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM1MDJDO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXTpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIzYzIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIgfiBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0IHtcbiAgY29sb3I6ICMwMzUwMkM7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmZvY3VzLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdDpmb2N1cywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmhvdmVyLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdDpob3ZlciB7XG4gICAgY29sb3I6ICMwMjQwMjM7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0IHtcbiAgb3JkZXI6IDE7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rOmJlZm9yZSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbms6YWZ0ZXIsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjpiZWZvcmUsXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0OmJlZm9yZSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmFmdGVyLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdDphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayBzdmcsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbiBzdmcsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0IHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBvcmRlcjogMTAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9zaWduYXR1cmVfY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfc2lnbmF0dXJlX2NvbnRhaW5lciArIGRpdiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyA+IGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNjYzRiMzc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1mYW1pbHk6IFwiY2FlY2lsaWEtc2Fucy10ZXh0XCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyA+IGgyIC5nZm9ybS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9yczpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmJmMWVmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmRlc2NyaXB0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZGVzY3JpcHRpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgbGFiZWwsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBsZWdlbmQge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSArIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGxhYmVsICsgW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCBzZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQtLXR5cGUtY2hvaWNlOm5vdCguZ2ZfbGlzdF9pbmxpbmUpIC5nY2hvaWNlICsgLmdjaG9pY2Uge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4IGxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCBsYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50LFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dCxcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2UgaW5wdXQge1xuICAgIG1hcmdpbjogMCAwLjVlbSAwIDA7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0ICsgbGFiZWwsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdjaG9pY2UgaW5wdXQgKyBsYWJlbCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3Rlcixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24sXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyICNnZHByLXN1Ym1pdCxcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b246Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAjZ2Rwci1zdWJtaXQ6Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b246Zmlyc3QtY2hpbGQuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdDpmaXJzdC1jaGlsZC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyICNnZHByLXN1Ym1pdDpub3QoLmdmb3JtX3NhdmVfbGluayksXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdDpub3QoLmdmb3JtX3NhdmVfbGluaykge1xuICAgICAgZmxleDogMSAxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgI2dkcHItc3VibWl0Om5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAjZ2Rwci1zdWJtaXQ6bm90KC5nZm9ybV9zYXZlX2xpbmspIHtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbiNnZHByLXN1Ym1pdCwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9idXR0b24jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAjZ2Rwci1zdWJtaXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAjZ2Rwci1zdWJtaXRbdHlwZT1cInN1Ym1pdFwiXSArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdFt0eXBlPVwic3VibWl0XCJdICsgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0LFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5nZm9ybV9uZXh0X2J1dHRvbi5idXR0b24gKyAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQgKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX25leHRfYnV0dG9uLmJ1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCArIC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQge1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24gfiAuZ2Zvcm1fbmV4dF9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uIH4gLmdmb3JtX25leHRfYnV0dG9uLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uI2dkcHItc3VibWl0IH4gLmdmb3JtX25leHRfYnV0dG9uLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB+IC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQgfiAuZ2Zvcm1fbmV4dF9idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB+IC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uI2dkcHItc3VibWl0IH4gLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm0tbG9hZGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLmdyaWQtY29udGFpbmVyLS1mdWxsIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tbmFycm93IHtcbiAgbWF4LXdpZHRoOiA5MzMuMzMzMzNweDsgfVxuXG4uZ3JpZC1jb250YWluZXItLXNsaW0ge1xuICBtYXgtd2lkdGg6IDc2N3B4OyB9XG5cbi5ncmlkLWNvbnRhaW5lci0td2lkZSB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uaG55IC5ncmlkLWNvbnRhaW5lciAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9XG4gIC5obnkgLmdyaWQtY29udGFpbmVyIC5ncmlkLXBhZGRpbmcteC0tc21hbGwge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtOyB9XG4gICAgLmhueSAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14LS1zbWFsbCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaG55IC5ncmlkLWNvbnRhaW5lciAuZ3JpZC1wYWRkaW5nLXgtLWxhcmdlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTNyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTNyZW07IH1cbiAgICAgIC5obnkgLmdyaWQtY29udGFpbmVyIC5ncmlkLXBhZGRpbmcteC0tbGFyZ2UgPiAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG5cbi5jZWxsLS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogIzAzNTAyQztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0MWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmgxIC5oZWFkaW5nX19zdWJoZWFkaW5nLFxuaDIgLmhlYWRpbmdfX3N1YmhlYWRpbmcsXG5oNSAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuaDEge1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIGgxIC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDAuNWVtOyB9XG5cbmgyIC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDUge1xuICBjb2xvcjogIzQ2OTU0QztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB9XG4gIGg1IC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDAuODk1ZW07IH1cblxuaDYge1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmhlYWRpbmdfX3ByZWhlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaDQuaGVhZGluZyAuaGVhZGluZ19fcHJlaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5obnktc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmhueS1zdmcgcGF0aCB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5sLWhlcm8ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5sLW1haW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1jaGVja291dCAubC1tYWluLFxuICAuY29udGVudC1jZW50ZXJlZCAubC1tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5sLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAubC1jb250YWluZXItLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfVxuICAgIC5oZXJvLS1sYW5kaW5nIC5sLWNvbnRhaW5lci0tbGFyZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDdyZW07IH1cbiAgLmwtY29udGFpbmVyLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07IH1cblxuLmwtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAubC1mb290ZXIgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAubC1mb290ZXIgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpsYXN0LWNoaWxkIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTUwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubC1mb290ZXIgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpudGgtbGFzdC1jaGlsZCgyKSAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLWZvb3RlciAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwJTsgfSB9XG4gICAgLmwtZm9vdGVyIC5wcm9kdWN0LWNhdGVnb3JpZXMgKyAuc2l0ZS1mb290ZXIge1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07IH1cblxuLmlzLWNoZWNrb3V0IC5wYWdlLWNvbnRlbnQsXG4uY29udGVudC1jZW50ZXJlZCAucGFnZS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxOyB9XG5cbi5jb250ZW50LWNlbnRlcmVkLmVycm9yNDA0IC5wYWdlLWNvbnRlbnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uY29udGVudC1jZW50ZXJlZCAucGFnZS1jb250ZW50IC5jaGVja291dCwgLmNvbnRlbnQtY2VudGVyZWRcbi5wYWdlLWNvbnRlbnQgLmZvdXItb2gtZm91ciwgLmNvbnRlbnQtY2VudGVyZWRcbi5wYWdlLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2tzIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLnBhZ2luYXRpb25fX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnBhZ2luYXRpb24gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDNyZW0gMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbiB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAucGFnaW5hdGlvbiB1bCBsaSBhLFxuICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBhLm5leHQgLmhueS1zdmcsIC5wYWdpbmF0aW9uIHVsIGxpIGEucHJldiAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ubmV4dCAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ucHJldiAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICM0ODQ4NDg7IH1cbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIGEubmV4dDpmb2N1cyAuaG55LXN2ZywgLnBhZ2luYXRpb24gdWwgbGkgYS5uZXh0OmhvdmVyIC5obnktc3ZnLCAucGFnaW5hdGlvbiB1bCBsaSBhLnByZXY6Zm9jdXMgLmhueS1zdmcsIC5wYWdpbmF0aW9uIHVsIGxpIGEucHJldjpob3ZlciAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ubmV4dDpmb2N1cyAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ubmV4dDpob3ZlciAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ucHJldjpmb2N1cyAuaG55LXN2ZyxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4ucHJldjpob3ZlciAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICMwMzUwMkM7IH1cbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIGEuY3VycmVudCxcbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIGEuY3VycmVudDphZnRlcixcbiAgICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAzNTAyQztcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAucGFnaW5hdGlvbiB1bCBsaS5wYWdpbmF0aW9uLXByZXZpb3VzID4gYSwgLnBhZ2luYXRpb24gdWwgbGkucGFnaW5hdGlvbi1uZXh0ID4gYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuICAucmV2ZWFsIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGNvbG9yOiAjMDM1MDJDO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAucmV2ZWFsIC5jbG9zZS1idXR0b24gLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7IH1cbiAgLnJldmVhbCAuY2xvc2UtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucmV2ZWFsIC5jbG9zZS1saW5rIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzQwNzYzNjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucmV2ZWFsIC5jbG9zZS1saW5rIGJ1dHRvbjpmb2N1cywgLnJldmVhbCAuY2xvc2UtbGluayBidXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAucmV2ZWFsX19jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJldmVhbF9fY2FydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5yZXZlYWxfX2NhcnQgLmhueS1jYXJ0X19pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cblxuLnNsYkVsZW1lbnQgKiB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLnNsYk92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zbGJJbWFnZVdyYXA6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpOyB9XG5cbi5zbGJBcnJvdyB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZDogIzAzNTAyQztcbiAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICBvcGFjaXR5OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zbGJBcnJvdzpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA0MCU7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHdoaXRlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5zbGJBcnJvdy5wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5zbGJBcnJvdy5wcmV2OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAuc2xiQXJyb3c6aG92ZXIsIC5zbGJBcnJvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWZlZmVmO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5zbGJBcnJvdzpob3ZlcjpiZWZvcmUsIC5zbGJBcnJvdzpmb2N1czpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDM1MDJDOyB9XG5cbi5zbGljay1zbGlkZXIsXG4uc2xpY2stc2xpZGVyICoge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXSBbZGF0YS1zbGljay1zbGlkZV06bm90KDpmaXJzdC1jaGlsZCkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXNsaWNrLXNsaWRlcl0uc2xpY2staW5pdGlhbGl6ZWQgW2RhdGEtc2xpY2stc2xpZGVdIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXS5zbGljay1pbml0aWFsaXplZCArIC5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDsgfVxuICAuc2xpY2stYXJyb3csIC5zbGljay1hcnJvdzpmb2N1cywgLnNsaWNrLWFycm93OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5zbGljay1hcnJvdyBzdmcge1xuICAgIGZpbGw6ICMwMzUwMkM7IH1cbiAgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTAuMjVyZW07IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTAuMjVyZW07IH1cblxuLmpxLXRvYXN0LXNpbmdsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xKSwgMCA2cHggMTJweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5qcS10b2FzdC1zaW5nbGUgLmhueS1ub3RpY2Uge1xuICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIC5qcS10b2FzdC1zaW5nbGUgLmhueS1ub3RpY2UtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg3MCwgMTQ5LCA3NiwgMC45KTsgfVxuICAgIC5qcS10b2FzdC1zaW5nbGUgLmhueS1ub3RpY2UtLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjA0LCA3NSwgNTUsIDAuOSk7IH1cblxuLmhueS1tZXNzYWdlIHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCAxNDksIDc2LCAwLjkpO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSksIDAgNnB4IDEycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmhueS1tZXNzYWdlIGEsIC5obnktbWVzc2FnZSBhOmZvY3VzLCAuaG55LW1lc3NhZ2UgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnd5c2l3eWcgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnd5c2l3eWcgaDEsXG4ud3lzaXd5ZyBoMixcbi53eXNpd3lnIGgzLFxuLnd5c2l3eWcgaDQsXG4ud3lzaXd5ZyBoNSxcbi53eXNpd3lnIGg2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi53eXNpd3lnIC5hbGlnbmxlZnQge1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4ud3lzaXd5ZyAuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMHB4IGF1dG87IH1cblxuLnd5c2l3eWcgLmFsaWducmlnaHQge1xuICBtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSAxcmVtO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnd5c2l3eWcgLmFsaWdubm9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAuNXJlbSAwOyB9XG5cbi53eXNpd3lnIC5nYWxsZXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAud3lzaXd5ZyAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMC4xNjY2NjY2NjclO1xuICAgIG1hcmdpbjogMCAwIDIlOyB9XG4gICAgLnd5c2l3eWcgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAud3lzaXd5ZyAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIGEgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC53eXNpd3lnID4gdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmdmaWVsZF9jaGVja2JveCkgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICAud3lzaXd5ZyA+IHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5nZmllbGRfY2hlY2tib3gpIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSBsaTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDA3NjM2O1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSB1bCB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC53eXNpd3lnID4gdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmdmaWVsZF9jaGVja2JveCkgdWwgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cbiAgICAgIC53eXNpd3lnID4gdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmdmaWVsZF9jaGVja2JveCkgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzg5OTM5QjtcbiAgICAgICAgY29udGVudDogJyc7IH1cblxuLnd5c2l3eWcgLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDAuOHJlbTsgfVxuXG4ud3lzaXd5ZyBwLndwLWNhcHRpb24tdGV4dCB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDkwJTsgfVxuXG4uZm91ci1vaC1mb3VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hcnRpY2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDE1MHB4ICsgMS41cmVtKTsgfSB9XG5cbi5hcnRpY2xlX190aHVtYm5haWwge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXJ0aWNsZV9fdGh1bWJuYWlsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIGJvdHRvbTogMC41cmVtO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE5OTk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmFjay10by10b3Age1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICBib3R0b206IDFyZW07XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDsgfSB9XG4gIC5iYWNrLXRvLXRvcDpob3ZlciwgLmJhY2stdG8tdG9wOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNlZmVmZWY7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC5iYWNrLXRvLXRvcDpob3ZlciAuaG55LXN2ZywgLmJhY2stdG8tdG9wOmZvY3VzIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICMwMzUwMkM7IH1cbiAgLmJhY2stdG8tdG9wIC5obnktc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IC0xNHB4IDAgMCAtMTNweDtcbiAgICBmaWxsOiAjZmVmZWZlOyB9XG4gIC5iYWNrLXRvLXRvcC5pcy12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5icm9jaHVyZXNfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmJyb2NodXJlc19faXRlbSBmaWd1cmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTAlOyB9XG4gIC5icm9jaHVyZXNfX2l0ZW0gPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuYnJvY2h1cmVzX19pdGVtID4gc3BhbiA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNiwgMjYsIDI2LCAwLjgpO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5icm9jaHVyZXNfX2l0ZW0gPiBzcGFuID4gc3BhbiAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uY2FsY3VsYXRvcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhbGN1bGF0b3JzX191bml0cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhbGN1bGF0b3JzX191bml0cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY2FsY3VsYXRvcnNfX3VuaXRzIC5idXR0b24sXG4gICAgLmNhbGN1bGF0b3JzX191bml0cyAjZ2Rwci1zdWJtaXQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLmNhbGN1bGF0b3JzX191bml0cyAuYnV0dG9uLFxuICAgICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzICNnZHByLXN1Ym1pdCB7XG4gICAgICAgICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cbiAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgLmJ1dHRvbi5kaXNhYmxlZCxcbiAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgLmRpc2FibGVkI2dkcHItc3VibWl0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzIC5idXR0b246Zmlyc3QtY2hpbGQsXG4gICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzICNnZHByLXN1Ym1pdDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzIC5idXR0b246bnRoLWNoaWxkKDIpLFxuICAgICAgLmNhbGN1bGF0b3JzX191bml0cyAjZ2Rwci1zdWJtaXQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgLmNhbGN1bGF0b3JzX19ub3RpY2UgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5jYWxjdWxhdG9yc19fbm90aWNlIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH1cbiAgLmNhbGN1bGF0b3JzX19vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNhbGN1bGF0b3JzX19vcHRpb25zIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLmNhbGN1bGF0b3JzX19vcHRpb25zIGxhYmVsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNhbGN1bGF0b3JzIHAsXG4gIC5jYWxjdWxhdG9ycyAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsY3VsYXRvcnNfX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG4uY2FsY3VsYXRvciB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY2FsY3VsYXRvciArICoge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY2FsY3VsYXRvciBlbSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5jYWxjdWxhdG9yX19mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY2FsY3VsYXRvcl9fZm9ybSAuYnV0dG9uLFxuICAgIC5jYWxjdWxhdG9yX19mb3JtICNnZHByLXN1Ym1pdCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYWxjdWxhdG9yX19mb3JtIC5idXR0b24sXG4gICAgICAgIC5jYWxjdWxhdG9yX19mb3JtICNnZHByLXN1Ym1pdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5jYWxjdWxhdG9yX19mb3JtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYWxjdWxhdG9yX19mb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9IH1cbiAgICAuY2FsY3VsYXRvcl9fZm9ybSA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLmNhbGN1bGF0b3JfX2Zvcm0gbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gbGFiZWwgaW5wdXQsXG4gICAgICAuY2FsY3VsYXRvcl9fZm9ybSBsYWJlbCBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAgIC5jYWxjdWxhdG9yX19mb3JtIGxhYmVsIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgLmNhbGN1bGF0b3JfX2xhYmVsLS1oYXMtZXJyb3IgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogI2NjNGIzNzsgfVxuICAuY2FsY3VsYXRvcl9fdG90YWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY2FsY3VsYXRvcl9fcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYWxjdWxhdG9yX19wbGFjZWhvbGRlciArIC5jYWxjdWxhdG9yX19wbGFjZWhvbGRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jYWxjdWxhdG9yX19lcnJvciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmNhbGN1bGF0b3IgYnV0dG9uICsgYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jYXJkLS1ib3gge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuY2FyZC0tYm94IHtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgLmNhcmQtLWJveCBbdHlwZT0nc3VibWl0J10ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcmQtLXByb2R1Y3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjVyZW0pO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgMS41cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAuY2FyZC0tcHJvZHVjdDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM4OTkzOUI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNyk7XG4gICAgICBjb2xvcjogIzQwNzYzNjsgfVxuICAuY2FyZCAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5jYXJkX19jb250ZW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzg5OTM5QjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5jYXJkX19wcmljZSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5jYXJkX19wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAuY2FyZF9fcGhvdG8ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xKSwgMCA2cHggMTJweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpOyB9XG4gICAgLmNhcmRfX3Bob3RvID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXJkX19waG90byBmaWd1cmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLmNhcmRfX3Bob3RvIGZpZ3VyZSArIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5jYXJkX19waG90byBmaWd1cmUgKyBmaWd1cmU6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAuY2FyZF9fcGhvdG8gZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7IH1cblxuLmNhcmVlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTM3LCAxNDcsIDE1NSwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjUpO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY2FyZWVyICsgLmNhcmVlciB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5jYXJlZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBmbGV4OiAxOyB9XG4gICAgLmNhcmVlcl9fdGl0bGUgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5jYXJlZXJfX2J1dHRvbiAuYnV0dG9uLFxuICAgIC5jYXJlZXJfX2J1dHRvbiAjZ2Rwci1zdWJtaXQge1xuICAgICAgcGFkZGluZzogMC41ZW07IH1cbiAgICAgIC5jYXJlZXJfX2J1dHRvbiAuYnV0dG9uIHNwYW4sIC5jYXJlZXJfX2J1dHRvbiAjZ2Rwci1zdWJtaXQgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmNhcmVlcl9fYnV0dG9uIC5idXR0b24gc3BhbiArIC5obnktc3ZnLCAuY2FyZWVyX19idXR0b24gI2dkcHItc3VibWl0IHNwYW4gKyAuaG55LXN2ZyB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmNhcmVlcl9fYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfSB9XG4gIC5jYXJlZXJfX2J1dHRvbiAuYnV0dG9uLFxuICAuY2FyZWVyX19idXR0b24gI2dkcHItc3VibWl0IHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuY2FyZWVyX19idXR0b24gLmJ1dHRvbixcbiAgICAgIC5jYXJlZXJfX2J1dHRvbiAjZ2Rwci1zdWJtaXQge1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9IH1cblxuLmNhcmVlcnNfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jYXJlZXJzX19ibG9jayB7XG4gIGNvbG9yOiAjMDM1MDJDOyB9XG4gIC5jYXJlZXJzX19ibG9jayArIC5jYXJlZXJzX19ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jYXJlZXJzX19ibG9jayBhIHtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuICAgIC5jYXJlZXJzX19ibG9jayBhOmZvY3VzLCAuY2FyZWVyc19fYmxvY2sgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uY2hlY2tsaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jaGVja2xpc3QtLXR3by1jb2x1bW4ge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbTtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAuY2hlY2tsaXN0LS10d28tY29sdW1uIGxpIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAuY2hlY2tsaXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIwcHggKyAwLjVyZW0pOyB9XG4gICAgLmNoZWNrbGlzdCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH1cbiAgICAuY2hlY2tsaXN0IGxpIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZpbGw6ICMwMzUwMkM7IH1cbiAgICAgIC5jaGVja2xpc3QgbGkgLmhueS1zdmctLXdhcm5pbmcge1xuICAgICAgICBmaWxsOiAjZmZhZTAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY2hlY2tvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY2hlY2tvdXRfX2Zvcm0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07IH0gfVxuXG4uY2hlY2tvdXRfX2Zvcm0gYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jaGVja291dF9fYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuY2hlY2tvdXRfX2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmNoZWNrb3V0X19ib3ggPiBkaXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5jaGVja291dF9fYm94ID4gZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXRfX2JveCA+IGRpdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07IH0gfVxuICAuY2hlY2tvdXRfX2JveDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTEuNXJlbTtcbiAgICBsZWZ0OiAtMS41cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuY2hlY2tvdXRfX2JveDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiA1MHZ3OyB9IH1cblxuLmNoZWNrb3V0IC5zaXRlLXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uY29sb3Bob24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC43O1xuICB6LWluZGV4OiAzOyB9XG4gIC5jb2xvcGhvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb2xvcGhvbiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sb3Bob24gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmNvbG9waG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbG9waG9uX19sZWdhbGVzZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sb3Bob24gLmxlZ2FsLW5hdiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9IH1cbiAgLmNvbG9waG9uIC5sZWdhbC1uYXZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmNvbG9waG9uIC5sZWdhbC1uYXZfX2l0ZW1zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmNvbG9waG9uIC5sZWdhbC1uYXZfX2l0ZW0gKyAubGVnYWwtbmF2X19pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5jb250YWN0LWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNvbnRhY3QtbGlzdC0tY2VudGVyZWQgLmNvbnRhY3QtbGlzdF9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29udGFjdC1saXN0LS1jZW50ZXJlZCAuY29udGFjdC1saXN0X19pdGVtIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNvbnRhY3QtbGlzdCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250YWN0LWxpc3RfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMi4yNXJlbSArIDFyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLmwtaGVhZGVyIC5jb250YWN0LWxpc3RfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcmVtICsgMC41cmVtKTsgfSB9XG4gICAgLmNvbnRhY3QtbGlzdF9faXRlbS0tbm8taWNvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuY29udGFjdC1saXN0X19pdGVtICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNvbnRhY3QtbGlzdF9faXRlbSAuaG55LXN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAubC1oZWFkZXIgLmNvbnRhY3QtbGlzdF9faXRlbSAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9IH1cbiAgLmNvbnRhY3QtbGlzdCB1bCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY29udGFjdC1saXN0IHVsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gICAgICAuY29udGFjdC1saXN0IHVsID4gbGkgPiBzcGFuLFxuICAgICAgLmNvbnRhY3QtbGlzdCB1bCA+IGxpID4gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmNvbnRhY3QtbGlzdCB1bCA+IGxpID4gc3Ryb25nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jb250YWN0LWxpc3QtLXBob25lLW51bWJlciA+IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyB1bCBsaSBzdHJvbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyB1bCBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAuY29udGFjdC1saXN0ICsgLmNvbnRhY3QtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5jb250ZW50LWJsb2NrOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZyk6bm90KC5jb250ZW50LWJsb2NrLS1iYWNrZ3JvdW5kKSArIC5jb250ZW50LWJsb2NrOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZyk6bm90KC5jb250ZW50LWJsb2NrLS1iYWNrZ3JvdW5kKSAubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY29udGVudC1ibG9jay0tbm8tc3BhY2luZyAubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNvbnRlbnQtYmxvY2stLWJhY2tncm91bmQtLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uY29udGVudC1ibG9jay0tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY29udGVudC1ibG9ja19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMCAwIDEwMCU7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2NvbnRlbnQge1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXRocmVlLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZpdmUtY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXRocmVlLWNvbHVtbiAuZ3JpZC14LCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuZ3JpZC14LCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuZ3JpZC14IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10d28tY29sdW1uIC5jZWxsOm50aC1jaGlsZCgybiszKSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMm4rNCkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzQpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzUpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzYpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDhuKzUpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoOG4rNiksIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsOm50aC1jaGlsZCg4bis3KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDhuKzgpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis2KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis3KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis4KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis5KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbisxMCkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbi5jb250ZW50LWJsb2NrX19oZWFkZXIge1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2tfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLmNvbnRlbnQtYmxvY2tfX2hlYWRlciAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGVudC1ibG9ja19faGVhZGVyLS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuY29udGVudC1ibG9jay0tY2VudGVyZWQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5jb250ZW50LWJsb2NrX19tb2R1bGU6bm90KC5jb250ZW50LWJsb2NrX19tb2R1bGUtLWhlYWRpbmcpICsgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDsgfVxuXG4uY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uY29udGVudC1ibG9ja19fbW9kdWxlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jb250ZW50LWJsb2NrX19tb2R1bGVzIC5jb250ZW50LWJsb2NrX19tb2R1bGU6bGFzdC1jaGlsZC5jb250ZW50LWJsb2NrX19tb2R1bGUtLXByaWNlLCAuY29udGVudC1ibG9ja19fbW9kdWxlcyAuY29udGVudC1ibG9ja19fbW9kdWxlOmxhc3QtY2hpbGQuY29udGVudC1ibG9ja19fbW9kdWxlLS1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cblxuLmNvbnRlbnQtYmxvY2sgaW1nLnRyYWN0b3ItdHJ1Y2sge1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuY29udGVudC1ibG9jayBpbWcudHJhY3Rvci10cnVjayB7XG4gICAgICB3aWR0aDogMTI1JTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC02cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5pcy1yZWN5Y2xpbmctY2VudHJlLWxhbmRpbmcgLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5pcy1yZWN5Y2xpbmctY2VudHJlLWxhbmRpbmcgLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5jZWxsOm50aC1jaGlsZCgyKSwgLmlzLXJlY3ljbGluZy1jZW50cmUtbGFuZGluZyAuY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlOyB9IH1cblxuLmZhcS1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mYXEtbGlzdF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mYXEtbGlzdF9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfSB9XG4gIC5mYXEtbGlzdF9fbGlzdGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZhcS1saXN0X19saXN0aW5nIHtcbiAgICAgICAgZmxleDogMSAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmFxLWxpc3RfX2dyb3VwX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZhcS1saXN0X19ncm91cF9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjM3NXJlbTsgfSB9XG4gIC5mYXEtbGlzdF9fZ3JvdXAgKyAuZmFxLWxpc3RfX2dyb3VwIC5mYXEtbGlzdF9fZ3JvdXBfX2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5mYXEtbGlzdF9fc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmFxLWxpc3RfX3NpZGViYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAxIGF1dG87IH0gfVxuICAgIC5mYXEtbGlzdF9fc2lkZWJhcl9faW5uZXIgPiBkaXYge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mYXEtbGlzdF9fc2lkZWJhciB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMCAwIDEuNWVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMC43NWVtO1xuICAgICAgICBoZWlnaHQ6IDAuNzVlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAgICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICM0Njk1NEM7IH1cbiAgLmZhcS1saXN0X19pdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZmFxLWxpc3RfX2l0ZW1zIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjcpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLmZhcS1saXN0X19pdGVtcyBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmFxLWxpc3RfX2l0ZW1zIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICAgIC5mYXEtbGlzdF9faXRlbXMgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCksIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAgIC5mYXEtbGlzdF9faXRlbXMgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIC5mYXEtbGlzdF9faXRlbXMgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZhcS1saXN0X19xdWVzdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuZmFxLWxpc3RfX3F1ZXN0aW9uOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycmVtO1xuICAgICAgbGVmdDogLTVyZW07XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIGhlaWdodDogMTByZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0OyB9XG4gICAgLmZhcS1saXN0X19xdWVzdGlvbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnJlbTtcbiAgICAgIGxlZnQ6IC01cmVtO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7XG4gICAgICBjb250ZW50OiAnUSc7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mYXEtbGlzdF9fcXVlc3Rpb246YWZ0ZXIsIC5mYXEtbGlzdF9fYW5zd2VyOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZmFxLWxpc3RfX2Fuc3dlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZhcS1saXN0X19hbnN3ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC01cmVtO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBjb2xvcjogIzQ2OTU0QztcbiAgICAgIGNvbnRlbnQ6ICdBJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLypcbiAgU2h1ZmZsZSBuZWVkcyBlaXRoZXIgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb24gdGhlIGNvbnRhaW5lclxuICBJdCB3aWxsIHNldCBpdCBmb3IgeW91LCBidXQgaXQnbGwgY2F1c2UgYW5vdGhlciBzdHlsZSByZWNhbGN1bGF0aW9uIGFuZCBsYXlvdXQuXG4gIEFLQSB3b3JzZSBwZXJmb3JtYW5jZSAtIHNvIGp1c3Qgc2V0IGl0IGhlcmVcbiAqL1xuLmdhbGxlcnlfX2dyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgMC43NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeV9fZ3JpZCAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC4xODc1cmVtKTsgfSB9XG5cbi5nYWxsZXJ5X19maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuZ2FsbGVyeV9fZmlsdGVycyAuYnV0dG9uLFxuICAuZ2FsbGVyeV9fZmlsdGVycyAjZ2Rwci1zdWJtaXQge1xuICAgIG1hcmdpbi1yaWdodDogMC4zNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtOyB9XG5cbi5nYWxsZXJ5X19zaXplciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5nYWxsZXJ5X19pdGVtID4gZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZ2FsbGVyeV9faXRlbS5zcXVhcmUgPiBkaXYge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ2FsbGVyeV9faXRlbS5zcXVhcmUubWVkaXVtLTMgPiBkaXYge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdhbGxlcnlfX2l0ZW0uaGFsZiA+IGRpdiB7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7IH1cblxuLmdhbGxlcnlfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJyZW07XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC41KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZ2FsbGVyeV9fbGluayAubG9hZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uZ2FsbGVyeSBmaWd1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZ2FsbGVyeV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWluLXdpZHRoOiAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDAuNzVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmdhbGxlcnlfX2NvbnRlbnQgLmhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM4OTkzOUI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuZ2FsbGVyeV9fY29udGVudCAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICBjb2xvcjogIzAzNTAyQztcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nZHByX19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9IH1cblxuLmdkcHJfX2JveCArIC5nZHByX19ib3gge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5nZHByX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgZmxleDogMSAxOyB9XG4gICAgLmdkcHJfX2JveCArIC5nZHByX19ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5nZHByX19ib3ggPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgZmxleDogMSAxOyB9XG4gIC5nZHByX19ib3ggPiBhIHN2ZyB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICBmaWxsOiAjMDM1MDJDOyB9XG4gIC5nZHByX19ib3ggPiBhOmZvY3VzLCAuZ2Rwcl9fYm94ID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuXG4jY29va2llLWxhdy1pbmZvLWJhciB7XG4gIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7IH1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgaDIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdkcHItbm90aWNlICsgaDMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuZ2Rwci1ub3RpY2UgKyBoMyArIGZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0LFxuI2dkcHItc3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg5NXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdCwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddXG4gICNnZHByLXN1Ym1pdCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b24sXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF0sXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b246aG92ZXIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b246Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMsXG4gICNnZHByLXN1Ym1pdCxcbiAgI2dkcHItc3VibWl0LmRpc2FibGVkLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLFxuICAjZ2Rwci1zdWJtaXQuZGlzYWJsZWQ6aG92ZXIsXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsXG4gICNnZHByLXN1Ym1pdC5kaXNhYmxlZDpmb2N1cyxcbiAgI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzNTAyQztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmhvdmVyLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b246Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdDpmb2N1cyxcbiAgI2dkcHItc3VibWl0OmhvdmVyLFxuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjNjMjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjpmb2N1cyxcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmZvY3VzLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmhvdmVyLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQ6aG92ZXIsXG4gICNnZHByLXN1Ym1pdDpmb2N1cyxcbiAgI2dkcHItc3VibWl0OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmJlZm9yZSxcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmJlZm9yZSwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjphZnRlcixcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmFmdGVyLFxuICAjZ2Rwci1zdWJtaXQ6YmVmb3JlLFxuICAjZ2Rwci1zdWJtaXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7IH1cbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRib2R5IHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5obnkgLmNvb2tpZWxhd2luZm8tcm93LWNhdC10YWJsZSB0aCxcbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRkIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cblxuLmdsb2JhbC1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gIHotaW5kZXg6IDk5OTk4OyB9XG4gIC5nbG9iYWwtYWxlcnRfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjYyNWVtKSB7XG4gICAgICAuZ2xvYmFsLWFsZXJ0X19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5nbG9iYWwtYWxlcnRfX3V0aWxpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MC42MjVlbSkge1xuICAgICAgLmdsb2JhbC1hbGVydF9fdXRpbGl0eSAuYnV0dG9uLnRpbnksXG4gICAgICAuZ2xvYmFsLWFsZXJ0X191dGlsaXR5IC50aW55I2dkcHItc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG5cbi5oZWFkZXItdXRpbGl0eSB7XG4gIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNzUpOyB9XG4gIC5oZWFkZXItdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLmhueS1zdmctLWZhY2Vib29rIHtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTsgfVxuICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLFxuICAuaGVhZGVyLXV0aWxpdHkgYSB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5IGJ1dHRvbixcbiAgICAgIC5oZWFkZXItdXRpbGl0eSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eSBidXR0b24sXG4gICAgICAuaGVhZGVyLXV0aWxpdHkgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjg5NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuODk1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLFxuICAgICAgLmhlYWRlci11dGlsaXR5IGEge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMjVlbTsgfSB9XG4gICAgLmhlYWRlci11dGlsaXR5IGJ1dHRvbjpob3ZlcixcbiAgICAuaGVhZGVyLXV0aWxpdHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLm5hdmJ1cmdlciB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogIzQ2OTU0QzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItdXRpbGl0eV9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI3NXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmhlYWRlci11dGlsaXR5X193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzUwcHg7IH0gfVxuICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW1zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgLmhlYWRlci11dGlsaXR5X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjg5NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWhvbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWRpdmlkZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI2LjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtLmhlYWRlci11dGlsaXR5X19pdGVtLS1jb250YWN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gICAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlciB+IC5oZWFkZXItdXRpbGl0eV9faXRlbS5oZWFkZXItdXRpbGl0eV9faXRlbS0tZmFjZWJvb2sge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtOm5vdCguaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWRpdmlkZXIpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlciArIC5oZWFkZXItdXRpbGl0eV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci11dGlsaXR5IC5zaXRlLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLnNpdGUtc2VhcmNoX19pbnB1dCB7XG4gICAgICBtaW4td2lkdGg6IDE4NXB4OyB9XG4gICAgLmlzLXNlYXJjaC1vcGVuIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgLmhlYWRlci11dGlsaXR5IC5zaXRlLXNlYXJjaDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDQuNXJlbTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA4cHggOHB4IDhweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZWZlZmUgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAgIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2g6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMS4yNXJlbTsgfSB9XG4gICAgLmlzLXNlYXJjaC1vcGVuIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLnNpdGUtc2VhcmNoIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDAgMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuOSk7IH1cbiAgLmhlcm9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcgKyAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpIC8gNDQgKiAyNyArIDEwcHgpOyB9IH1cbiAgICAuaGVyby0tbGFuZGluZyAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAgICAgLmhlcm8tLWxhbmRpbmcgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cbiAgLmhlcm8tLWhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAzNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVyby0taG9tZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMCU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby0taG9tZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcmVtOyB9IH1cbiAgLmhlcm8tLWxhbmRpbmcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLmhlcm8tLWxhbmRpbmcgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGVybyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuaGVybyAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuaGVybyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuaGVybyAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cbiAgLmhlcm9fX3NsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5oZXJvX19zbGlkZXIgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuaGVyb19fc2xpZGVyIC5zd2lwZXItY29udGFpbmVyOm5vdCguc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCkgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5oZXJvX19zbGlkZXIgLnN3aXBlci1jb250YWluZXI6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmhlcm9fX3NsaWRlciAuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkgZmlndXJlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAuaGVybyArIC5jb250ZW50LWJsb2NrcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3JlbTsgfVxuICAgICAgLmhlcm8gKyAuY29udGVudC1ibG9ja3MgPiAuY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsOmZpcnN0LWNoaWxkIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0sIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpudGgtY2hpbGQoMikgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC01MCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpudGgtY2hpbGQoMykgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVybyArIC5jb250ZW50LWJsb2NrcyA+IC5jb250ZW50LWJsb2NrOmZpcnN0LWNoaWxkIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01MCU7IH0gfVxuICAuaGVybyBmaWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmhlcm8gaDEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhlcm8gaDEgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLnJldmVhbCAuaG55LWNhcnQge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5obnktY2FydF9faXRlbXMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmhueS1jYXJ0X19pdGVtICsgLmhueS1jYXJ0X19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VmZWZlZjsgfVxuICAuaG55LWNhcnRfX2l0ZW0gKyAuaG55LWNhcnRfX2l0ZW0tLXRvdGFsIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAucmV2ZWFsIC5obnktY2FydF9faXRlbSArIC5obnktY2FydF9faXRlbSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q3ZDdkNzsgfVxuXG4uaG55LWNhcnRfX2l0ZW0gLmJ1dHRvbixcbi5obnktY2FydF9faXRlbSAjZ2Rwci1zdWJtaXQge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmhueS1jYXJ0X19pdGVtLS1wcm9kdWN0IC5obnktY2FydF9faXRlbS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmhueS1jYXJ0X19pdGVtLS10b3RhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5obnktY2FydF9fdG90YWwge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhueS1jYXJ0X19pdGVtLXJlbW92ZSB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAuaG55LWNhcnRfX2l0ZW0tcmVtb3ZlIC5obnktc3ZnIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHBhZGRpbmc6IDAuMTI1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgZmlsbDogI2ZlZmVmZTsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmhueS1jYXJ0X19pdGVtLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tZGV0YWlscyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5obnktY2FydF9faXRlbS1xdWFudGl0eSwgLmhueS1jYXJ0X19pdGVtLXByaWNlIHtcbiAgY29sb3I6ICM4OTkzOUI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tcGhvdG8ge1xuICBtYXgtd2lkdGg6IDUwcHg7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4OiAwIDAgNTBweDsgfVxuICAuaG55LWNhcnRfX2l0ZW0tcGhvdG8gaW1nIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLmhueS1jYXJ0X19pdGVtLXRvdGFsIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmhueS1jYXJ0X19pdGVtLXV0aWxpdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5obnktY2FydF9faXRlbS11dGlsaXR5IGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuaG55LWNhcnRfX2l0ZW0tdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmaWxsOiAjODk5MzlCOyB9XG4gICAgLmhueS1jYXJ0X19pdGVtLXV0aWxpdHkgLmhueS1zdmctLWNoZWNrIHtcbiAgICAgIGZpbGw6ICM0Njk1NEM7IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tdXRpbGl0eSAuaG55LXN2Zy0tdW5kbyB7XG4gICAgICBmaWxsOiAjZmZhZTAwOyB9XG5cbi5obnktY2FydF9faXRlbS1lZGl0b3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gIC5pcy1lZGl0aW5nIC5obnktY2FydF9faXRlbS1lZGl0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yIGxhYmVsID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yIGlucHV0IHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgMCAwLjVyZW07IH1cbiAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2OmZpcnN0LWNoaWxkID4gZGl2IHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2ICsgZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gICAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAgIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAuYnV0dG9uIC5obnktc3ZnLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmJ1dHRvbiAuaG55LXN2ZywgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkICNnZHByLXN1Ym1pdCAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtOyB9XG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmJ1dHRvbiArIC5idXR0b24sIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLCAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAuYnV0dG9uICsgLmJ1dHRvbiwgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdCArIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLFxuICAgICAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArICNnZHByLXN1Ym1pdCwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgI2dkcHItc3VibWl0ICsgI2dkcHItc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cblxuLmhueS1jYXJ0X19pdGVtLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pcy1lZGl0aW5nIC5obnktY2FydF9faXRlbS1pbm5lciA+IGRpdjpub3QoLmhueS1jYXJ0X19pdGVtLWVkaXRvcikge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5pbmxpbmUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbmxpbmUtaWNvbiAqICsgLmhueS1zdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5pbmxpbmUtaWNvbiAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDAuNzVlbTtcbiAgICBoZWlnaHQ6IDAuNzVlbTsgfVxuICAgIC5pbmxpbmUtaWNvbiAuaG55LXN2ZyArICoge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgICAuaW5saW5lLWljb24gLmhueS1zdmctLWNoZWNrIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICM0Njk1NEM7XG4gICAgICBmaWxsOiAjZmVmZWZlOyB9XG5cbnAubGVhZC5pbmxpbmUtaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgcC5sZWFkLmlubGluZS1pY29uIHNwYW4gKyAuaG55LXN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICBwLmxlYWQuaW5saW5lLWljb24gLmhueS1zdmcge1xuICAgIHdpZHRoOiAxLjc1ZW07XG4gICAgbWF4LXdpZHRoOiAxLjc1ZW07XG4gICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICAgIGZsZXg6IDAgMCAxLjc1ZW07IH1cbiAgICBwLmxlYWQuaW5saW5lLWljb24gLmhueS1zdmcgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmxpc3RpbmctLXBvc3QgLmNlbGwgKyAuY2VsbCAubGlzdGluZ19faXRlbSB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMzcsIDE0NywgMTU1LCAwLjMpOyB9XG5cbi5saXN0aW5nX19pdGVtICsgLmxpc3RpbmdfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi5saXN0aW5nX19ibG9jayArIC5saXN0aW5nX19ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7IH1cblxuLmxvYWRlci1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwMDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuaXMtbG9hZGluZyAubG9hZGVyLW92ZXJsYXkge1xuICAgIGN1cnNvcjogd2FpdDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLmxvYWRlci1vdmVybGF5IC5sb2FkZXIge1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG5cbi5sb2FkZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmxvYWRlciBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4gIC5sb2FkZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbjogb3BhY2l0eWNoYW5nZSAxcyBlYXNlLWluLW91dCAwLjMzcyBpbmZpbml0ZTsgfVxuICAubG9hZGVyIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb246IG9wYWNpdHljaGFuZ2UgMXMgZWFzZS1pbi1vdXQgMC42NnMgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBvcGFjaXR5Y2hhbmdlIHtcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmxvZ28gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpIDAlLCAjZmVmZWZlIDYwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dvID4gYSB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9nbyA+IGEge1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbTsgfSB9XG5cbi5tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOTUpO1xuICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tYXAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tYXBfX2xvY2F0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDIwcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWFwX19sb2NhdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLm1hcF9fbG9jYXRpb24gPiBkaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA3NXB4IHJnYmEoMjYsIDI2LCAyNiwgMC40KSk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tYXBfX2xvY2F0aW9uID4gZGl2IHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC41cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubWFwX19sb2NhdGlvbiA+IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgLm1hcF9fbG9jYXRpb24gPiBkaXY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDE1cHggMCAxNXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubWFwX19sb2NhdGlvbiA+IGRpdjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAxNXB4IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfSB9XG5cbi5tYXN0aGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5tYXN0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZmxleDogMCAwIDEwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLm1hc3RoZWFkX19sb2dvIC5sb2dvIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA4MnB4O1xuICAgICAgICBoZWlnaHQ6IDczcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hc3RoZWFkX19sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgZmxleDogMCAwIDE1MHB4OyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDExMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgZmxleDogMCAwIDEyMHB4OyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiA5NHB4O1xuICAgICAgICAgIGhlaWdodDogODNweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI3NXB4IC0gM3JlbSk7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAubWFzdGhlYWRfX2xvZ28gLmxvZ28gc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNTZweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygzMDBweCAtIDNyZW0pOyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgICAubWFzdGhlYWRfX2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzUwcHggLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkX19uYXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNzVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5tYXN0aGVhZF9fbmF2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzUwcHg7IH0gfVxuICAubWFzdGhlYWRfX25hdiAubmF2YnVyZ2VyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLm1hc3RoZWFkX19uYXYgLm5hdmJ1cmdlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tYXN0aGVhZF9fbmF2IC5uYXZidXJnZXIgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250YWN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC43NSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250YWN0IHtcbiAgICAgICAgbWluLWhlaWdodDogMTU1cHg7IH0gfVxuICAgIC5tYXN0aGVhZF9fY29udGFjdCAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubWFzdGhlYWRfX2NvbnRhY3QgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5obnkgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07IH1cbiAgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH0gfVxuICAgIC5tYXN0aGVhZF9fY29udGFjdCBhIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAubWFzdGhlYWRfX2NvbnRhY3QgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyAuY29udGFjdC1saXN0X19pdGVtIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XG5cbi5taW5pLWNhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4OyB9XG4gIC5oZWFkZXItdXRpbGl0eSAubWluaS1jYXJ0IC5obnktc3ZnIHtcbiAgICB3aWR0aDogMi42MjVlbTtcbiAgICBoZWlnaHQ6IDIuNjI1ZW0vMi4xNTA1NDsgfVxuICAubWluaS1jYXJ0ID4gc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubW9iaWxlLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDB2dztcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICBwYWRkaW5nOiAyNnB4IDMzcHggMjZweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6ICMwMzUwMkM7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLm1vYmlsZS1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duIC5tb2JpbGUtbmF2X19pdGVtLS1kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vYmlsZS1uYXYuaXMtZHJpbGxkb3duLW9wZW4gLm1vYmlsZS1uYXZfX2l0ZW0gPiBhID4gc3BhbiB7XG4gICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1vdXQtbGVmdCAxcyBlYXNlIGJvdGg7IH1cbiAgLm1vYmlsZS1uYXYuaXMtZHJpbGxkb3duLW9wZW4gLm1vYmlsZS1uYXZfX2l0ZW0gPiBhID4gLmhueS1zdmcge1xuICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IDFzIGVhc2UgYm90aDsgfVxuICAubW9iaWxlLW5hdiAuZHJpbGxkb3duIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIC5tb2JpbGUtbmF2IC5kcmlsbGRvd24gYSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAubW9iaWxlLW5hdiA+IGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAxN3B4IDI0cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1vYmlsZS1uYXYgPiBidXR0b24gLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7IH1cbiAgLm1vYmlsZS1uYXZfX3dyYXBwZXIgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAubW9iaWxlLW5hdl9fd3JhcHBlciAubG9nbyA+IGEge1xuICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAubW9iaWxlLW5hdl9fd3JhcHBlciAubG9nbyBzdmcge1xuICAgICAgd2lkdGg6IDEwMnB4O1xuICAgICAgaGVpZ2h0OiA5MXB4OyB9XG4gIC5tb2JpbGUtbmF2X19pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubW9iaWxlLW5hdl9faXRlbSAuaG55LXN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLm1vYmlsZS1uYXZfX2l0ZW0tLWFjdGl2ZSBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAubW9iaWxlLW5hdl9faXRlbSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbSBhID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gICAgICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5tb2JpbGUtbmF2X19pdGVtIGEgPiBzcGFuIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5tb2JpbGUtbmF2X19pdGVtIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5tb2JpbGUtbmF2X19pdGVtLS1oYXMtc3VibWVudSA+IGEgPiBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbS0taGFzLXN1Ym1lbnUgPiBhID4gc3BhbjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMC4zMjVlbTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLm1vYmlsZS1uYXYgLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAgIC5tb2JpbGUtbmF2IC5qcy1kcmlsbGRvd24tYmFjayBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5tb2JpbGUtbmF2IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9iaWxlLW5hdiBhIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5tb2JpbGUtbmF2IGEgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYgYSA+IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYgYSAuaG55LXN2ZyB7XG4gICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLWluLXJpZ2h0IDEuNXMgZWFzZSBib3RoOyB9XG4gIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFtcyBsaW5lYXI7IH1cbiAgICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgbGkgYSA+IHNwYW4ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gICAgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSBsaS5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLWluLXJpZ2h0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUgbGkgYSA+IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1yaWdodCAxcyBlYXNlIGJvdGg7IH1cbiAgLm1vYmlsZS1uYXYgLmNvbnRhY3QtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAgIC5tb2JpbGUtbmF2IC5jb250YWN0LWxpc3QgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5Aa2V5ZnJhbWVzIHNpbXBsZS1mYWRlLWluLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBzaW1wbGUtZmFkZS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfSB9XG5cbi5tb2JpbGUtdXRpbGl0eV9faXRlbXMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm1vYmlsZS11dGlsaXR5X19pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5tb2JpbGUtdXRpbGl0eV9faXRlbSA+IGEgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5pcy1kcmlsbGRvd24tb3BlbiAubW9iaWxlLXV0aWxpdHlfX2l0ZW0gPiBhIHNwYW4ge1xuICBhbmltYXRpb246IHNpbXBsZS1mYWRlLW91dC1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuXG4ucGFkZGVkLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQ6ICM0MDc2MzY7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wYWRkZWQtYmxvY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucGFkZGVkLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDVyZW07IH0gfVxuICAucGFkZGVkLWJsb2NrIC5oZWFkaW5nIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5wYWRkZWQtYmxvY2sgLmhlYWRpbmcgYSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wYWRkZWQtYmxvY2stLWxlZnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnBhZGRlZC1ibG9jay0tcmlnaHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5wYWRkZWQtYmxvY2stLWRhcmsgaDEuaGVhZGluZyxcbiAgLnBhZGRlZC1ibG9jay0tZGFyayBoMi5oZWFkaW5nLFxuICAucGFkZGVkLWJsb2NrLS1kYXJrIGgzLmhlYWRpbmcsXG4gIC5wYWRkZWQtYmxvY2stLWRhcmsgaDQuaGVhZGluZyB7XG4gICAgY29sb3I6ICM0Njk1NEM7IH1cblxuLnBob3RvIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSksIDAgNnB4IDEycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTsgfVxuICAucGhvdG8gZmlndXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mdWxsLXdpZHRoIC5waG90byB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mdWxsLXdpZHRoIC5waG90byBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucGhvdG8tLWNsZWFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5waG90by0tY2xlYXIgZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucHJpY2Uge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2sgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5wcmljZV9fbnVtYmVyIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAucHJpY2UtLXNwZWNpYWwgLnByaWNlX19udW1iZXIge1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAucHJpY2VfX251bWJlciBpbnMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcmljZV9fdW5pdCB7XG4gICAgY29sb3I6ICM4OTkzOUI7IH1cbiAgLnByaWNlIGRlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnByaWNlIGRlbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAucHJpY2UtLXNtYWxsIHtcbiAgICBjb2xvcjogIzg5OTM5QjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcmltYXJ5LW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMikgMCUsICNmZWZlZmUgNjAlKTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wcmltYXJ5LW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcmltYXJ5LW5hdiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucHJpbWFyeS1uYXZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLnByaW1hcnktbmF2X19pdGVtOm5vdCgucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIpICsgbGk6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMDUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEgc3BhbiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEgLmhueS1zdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDAuNzVlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIGZpbGw6ICM4YThhOGE7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNzAsIDE0OSwgNzYsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFjdGl2ZSA+IGEgLmhueS1zdmcge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLnByaW1hcnktbmF2X19pdGVtLS1hbHQgPiBhIHtcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFsdCA+IGE6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFsdC5wcmltYXJ5LW5hdl9faXRlbS0tYWN0aXZlID4gYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyMDQsIDc1LCA1NSwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGEge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjM1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNXJlbTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGEgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk5OyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciArIGxpID4gYSBzdmcge1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICAgIGZpbGw6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTM1ZGVnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTVhM2RhO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMTVhM2RhIDAlLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMikgMTAwJSk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciArIGxpIHVsIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlci0tYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA5OTk5cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMzVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3MCwgMTQ5LCA3NiwgMC4yNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgLnByaW1hcnktbmF2X19pdGVtLS1kaXZpZGVyIH4gLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgfiAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjY1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDI2LCAyNiwgMjYsIDAuNSkgMCAxcHggMXB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciB+IC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07IH0gfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciB+IC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMikgMCUsICNmZWZlZmUgNjAlKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzO1xuICAgIHBlcnNwZWN0aXZlOiAyMDAwcHg7IH1cbiAgICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtICsgbGkgPiBhIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUtaXRlbS0tYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07IH1cbiAgLmNvbHVtbiAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC45KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlcjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciAuaGVhZGluZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciBzcGFuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtOmhvdmVyIGZpZ3VyZTphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSA+IGZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiA0MDBtcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtID4gZmlndXJlOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogMjAwbXM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIC5oZWFkaW5nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIC5oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0gc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSkgc2NhbGVZKDAuNSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogNDAwbXM7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMzLjEyNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaG55IC5wcm9kdWN0LWNhdGVnb3JpZXMgLmdyaWQtY29udGFpbmVyIGRpdi5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlOyB9IH1cblxuLmhueSAuY29udGVudC1ibG9jayAucHJvZHVjdC1jYXRlZ29yaWVzIC5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ucHJvZHVjdC1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0LWdhbGxlcnlfX3NsaWRlciB7XG4gICAgYm9yZGVyOiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSksIDAgNnB4IDEycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnByb2R1Y3QtZ2FsbGVyeV9fc2xpZGVyIC5zd2lwZXItc2xpZGUgZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnByb2R1Y3QtZ2FsbGVyeV9fcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0LWdhbGxlcnlfX3BhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7IH1cbiAgICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgKyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9XG5cbi5wcm9kdWN0X19nYWxsZXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wcm9kdWN0X19nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucHJvZHVjdF9fZ2FsbGVyeSAuYnJlYWRjcnVtYnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wcm9kdWN0X19oZWFkZXIgLmJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0X19oZWFkZXIgLmJyZWFkY3J1bWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3RfX2hlYWRlciAuaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnByb2R1Y3RfX2hlYWRlciBpbWcge1xuICBtYXgtd2lkdGg6IDI3MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5yZXZlYWwgLnByb2R1Y3RfX2hlYWRlciBpbWcge1xuICAgIG1heC13aWR0aDogMTM1cHg7IH1cblxuLnByb2R1Y3RfX3N1cGVyLXNhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuICAucHJvZHVjdF9fc3VwZXItc2FjayBpbWcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdF9fc3VwZXItc2FjayBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7IH0gfVxuICAucHJvZHVjdF9fc3VwZXItc2FjayB+IGRpdiB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyg4MHB4ICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdF9fc3VwZXItc2FjayB+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMTAwcHggKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3RfX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuLnJldmVhbCAucHJvZHVjdF9fcHJpY2UgLnByaWNlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5wcm9kdWN0X19wcmljZSAucHJpY2UtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3RfX3ByaWNlIC5wcmljZS0tc21hbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLnByb2R1Y3RfX2Jsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0X19ibG9jayArIC5wcm9kdWN0X19ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMzUwMkM7IH1cbiAgLnJldmVhbCAucHJvZHVjdF9fYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlZmVmZWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdF9fYmxvY2stLW5vLWJvcmRlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3QgLmFkZC10by1jYXJ0IGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQgbGFiZWwgPiBzcGFuID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9IH1cbiAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2IGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2IC5idXR0b24sXG4gIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiAjZ2Rwci1zdWJtaXQge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiAuYnV0dG9uLFxuICAgICAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2ICNnZHByLXN1Ym1pdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5wcm9kdWN0X19jdGEge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnByb2R1Y3RfX2N0YSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucHJvZHVjdF9fY3RhIHtcbiAgICAgIG1heC13aWR0aDogODUlOyB9IH1cbiAgLnByb2R1Y3RfX2N0YSAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuICAucHJvZHVjdF9fY3RhIGEge1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG4gIC5wcm9kdWN0X19jdGEgLmhueS1zdmcge1xuICAgIGZpbGw6ICM0Njk1NEM7IH1cbiAgLnByb2R1Y3RfX2N0YSAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXIge1xuICAgIG1hcmdpbjogMC41cmVtIDA7IH1cbiAgICAucHJvZHVjdF9fY3RhIC5jb250YWN0LWxpc3QtLXBob25lLW51bWJlciA+IGxpID4gYSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnByb2R1Y3RfX2N0YSAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXIgPiBsaSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9IH1cblxuLnByb2R1Y3QgLnd5c2l3eWcge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnJlY2VudC11cGRhdGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgLTEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucmVjZW50LXVwZGF0ZXMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAucmVjZW50LXVwZGF0ZXMgLnBhZGRlZC1ibG9jayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5yZWNlbnQtdXBkYXRlcyAucGFkZGVkLWJsb2NrOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgY29udGVudDogJyc7IH0gfVxuICAucmVjZW50LXVwZGF0ZXMgZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLnJlY2VudC11cGRhdGVzIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbi8qIGNvbW1vbiAqL1xuLnJpYmJvbiB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yaWJib24ge1xuICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgaGVpZ2h0OiAyMjVweDsgfSB9XG5cbi5yaWJib246OmJlZm9yZSxcbi5yaWJib246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICM5YjM3Mjc7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLnJpYmJvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2NjNGIzNyAwJSwgI2Q2NmY1ZiAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnJpYmJvbiBzcGFuIHtcbiAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4OyB9IH1cblxuLyogdG9wIGxlZnQqL1xuLnJpYmJvbi10b3AtbGVmdCB7XG4gIHRvcDogLTFyZW07XG4gIGxlZnQ6IC0xcmVtOyB9XG4gIC5wcm9kdWN0LWdhbGxlcnkgLnJpYmJvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIGxlZnQ6IC0wLjVyZW07IH1cblxuLnJpYmJvbi10b3AtbGVmdDo6YmVmb3JlLFxuLnJpYmJvbi10b3AtbGVmdDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5yaWJib24tdG9wLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnJpYmJvbi10b3AtbGVmdDo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnJpYmJvbi10b3AtbGVmdCBzcGFuIHtcbiAgdG9wOiA0N3B4O1xuICByaWdodDogLTI4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucmliYm9uLXRvcC1sZWZ0IHNwYW4ge1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgcmlnaHQ6IC00N3B4OyB9IH1cblxuLnNlYXJjaC1oZWFkZXJfX2NvdW50IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5zZWFyY2gtaGVhZGVyX19jb3VudCBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNpbmdsZS1wb3N0IC5waG90byB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaW5nbGUtcG9zdCAucGhvdG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzQwNzYzNjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNpdGUtZm9vdGVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgICAgY29udGVudDogJyc7IH0gfVxuICAuc2l0ZS1mb290ZXIgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2l0ZS1mb290ZXJfX3RvcCBoNS5oZWFkaW5nIHNwYW4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wID4gLmdyaWQtY29udGFpbmVyID4gLmdyaWQteCA+IC5jZWxsIC5jZWxsICsgLmNlbGwge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgPiAuZ3JpZC1jb250YWluZXIgPiAuZ3JpZC14ID4gLmNlbGwgLmNlbGwgKyAuY2VsbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbCAuY2VsbCArIC5jZWxsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNpdGUtZm9vdGVyX190b3AgPiAuZ3JpZC1jb250YWluZXIgPiAuZ3JpZC14ID4gLmNlbGw6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wIC5wYWRkZWQtYmxvY2sge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wIC5idXR0b24sXG4gICAgLnNpdGUtZm9vdGVyX190b3AgI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgLmJ1dHRvbixcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgI2dkcHItc3VibWl0IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAuc2l0ZS1mb290ZXJfX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19ib3R0b20ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fYm90dG9tOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtMnJlbTtcbiAgei1pbmRleDogMjAwO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnNpdGUtaGVhZGVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDEuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzQwNzYzNjsgfSB9XG4gIC5zaXRlLWhlYWRlcl9fbWFzdGhlYWQge1xuICAgIGZsZXg6IDEgMTsgfVxuICAuc2l0ZS1oZWFkZXJfX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgb3JkZXI6IDEwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXJfX3V0aWxpdHkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMzUwMkM7IH0gfVxuXG4uc2l0ZS1zZWFyY2gge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhlcm8gLnNpdGUtc2VhcmNoIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpOyB9XG4gIC5ob21lIC5oZXJvIC5zaXRlLXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAuc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5zaXRlLXNlYXJjaF9fZm9ybSA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAgIC5zaXRlLXNlYXJjaF9fZm9ybSA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnNpdGUtc2VhcmNoX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxOyB9XG4gICAgLnNpdGUtc2VhcmNoX19pbnB1dCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cbiAgICAgIC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNzUpOyB9XG4gICAgICAuc2l0ZS1zZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC45NSk7IH1cbiAgLnNpdGUtc2VhcmNoX19zdWJtaXQgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9fc3VibWl0IGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLnNpdGUtc2VhcmNoX19zdWJtaXQgYnV0dG9uIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtOyB9XG4gICAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9fc3VibWl0IGJ1dHRvbiAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzFhMWExYSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgYVtocmVmXj0ndGVsJ106YWZ0ZXIsXG4gIGEgW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxYTFhMWE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICMxYTFhMWEgIWltcG9ydGFudDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnJlY2VudC11cGRhdGVzIC5ncmlkLXggLmdyaWQteCAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLnByb2R1Y3QgLmNlbGwuaGlkZS1mb3ItcHJpbnQgKyAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAaW1wb3J0ICdjb21tb24vZm9udHMnO1xuQGltcG9ydCAnYXV0b2xvYWQvYXV0b2xvYWQnO1xuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbkBpbXBvcnQgJ2NvbW1vbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tbW9uL3V0aWwnO1xuQGltcG9ydCAnY29tbW9uL2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnY29tbW9uL2dsb2JhbCc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUubWluLmNzcyc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXRvYXN0LXBsdWdpbi9kaXN0L2pxdWVyeS50b2FzdC5taW4uY3NzJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtbGlnaHRib3gvZGlzdC9zaW1wbGVMaWdodGJveC5taW4uY3NzJztcbkBpbXBvcnQgXCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZHJpbGxkb3duLWN1c3RvbS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dmb3Jtcy1jdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRpbmdzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXZlYWwtY3VzdG9tLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zaW1wbGUtbGlnaHRib3gtY3VzdG9tLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zbGljay1jdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3RvYXN0LWN1c3RvbS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fd3lzaXd5Zy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fNDA0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19hcnRpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19iYWNrLXRvLXRvcC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fYnJvY2h1cmVzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYWxjdWxhdG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYXJkLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYXJlZXIuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NhcmVlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NoZWNrbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fY2hlY2tvdXQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NvbG9waG9uLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jb250YWN0LWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19mYXEtbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2FsbGVyeS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2Rwci5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2xvYmFsLWFsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19oZWFkZXItdXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9faGVyby5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9faG55LWNhcnQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2hvdXJzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19pbmxpbmUtaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fbGlzdGluZy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fbG9hZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19sb2dvLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19tYXAuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21hc3RoZWFkLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19taW5pLWNhcnQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21vYmlsZS1uYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21vYmlsZS11dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wYWRkZWQtYmxvY2suc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3Bob3RvLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wcmljZS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcHJpbWFyeS1uYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3Byb2R1Y3QtY2F0ZWdvcmllcy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcHJvZHVjdC1nYWxsZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wcm9kdWN0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19yZWNlbnQtdXBkYXRlcy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcmliYm9uLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zZWFyY2gtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zaW5nbGUtcG9zdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzXCI7XG5AaW1wb3J0ICdjb21tb24vcHJpbnQnO1xuLy9AaW1wb3J0ICdjb21tb24vZGVidWcnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxNDAwcHg7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzAzNTAyQyxcbiAgc2Vjb25kYXJ5OiAjNDA3NjM2LFxuICBzdWNjZXNzOiAjNDY5NTRDLFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2VmZWZlZjtcbiRtZWRpdW0tZ3JheTogIzg5OTM5QjtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMxYTFhMWE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRib2R5LWZvbnQtY29sb3I6ICM0ODQ4NDg7XG4kYm9keS1mb250LWZhbWlseTogJ2NhZWNpbGlhLXNhbnMtdGV4dCcsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxLjVyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDEuNXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDEuNXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwLjM1cmVtO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbiRsaWdodC1zZWNvbmRhcnk6ICRzdWNjZXNzLWNvbG9yO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICB0YWJsZXQ6IDc4MnB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODBweCxcbiAgeHhsYXJnZTogMTY1MHB4LFxuICB3aWRlOiAxOTIwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IHhsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gdGFibGV0IGxhcmdlIHhsYXJnZSB4eGxhcmdlIHdpZGUpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yNTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIHRhYmxldDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNjgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzQpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJGJvZHktZm9udC1jb2xvcjtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjI1O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTI1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuODk1cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC44OTVyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IGZhbHNlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkc3VjY2Vzcy1jb2xvcjtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCAwIDJweCAkc3VjY2Vzcy1jb2xvcjtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAxcmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogMDtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogMTAwJTtcbiRyZXZlYWwtbWF4LXdpZHRoOiA5NjBweDtcbiRyZXZlYWwtcGFkZGluZzogM3JlbTtcbiRyZXZlYWwtYm9yZGVyOiAwO1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpIC8gMik7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0pKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiBudWxsLFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiJXUtc2NyZWVuLXJlYWRlcixcbi51LXNjcmVlbi1yZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbn1cblxuJXUtY2xlYXJmaXgsXG4udS1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ldS1leHRlcm5hbC1saW5rLFxuLnUtZXh0ZXJuYWwtbGluayB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmsuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC5wYWRkZWQtYmxvY2sgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLWFsdC5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuJXUtYmctY292ZXIsXG4udS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuJXUtYmctY29udGFpbixcbi51LWJnLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuJXUtYmctMTAwLFxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi51LXN2Zy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG5cbiAgaW1nLFxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLS1sb2dvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg0NjcuNy81MjMuMSk7XG4gIH1cbn1cblxuJXUtcGhvdG8tYmcsXG4udS1waG90by1iZyB7XG4gIEBleHRlbmQgJXUtYmctY292ZXI7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDIvMyk7XG5cbiAgJi0tc3F1YXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgfVxuXG4gICYtLWV4dGVuZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYtLWV4dGVuZC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xMDB2dyArIDEwMCUgKyAxLjVyZW0pO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbiIsImh0bWwge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTA2LjI1JTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29uY3JldGVfc2VhbWxlc3MucG5nJyk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJi5hZG1pbi1iYXIge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gICAgfVxuICB9XG59XG5cbmEge1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skc2Vjb25kYXJ5LWNvbG9yfTtcbn1cblxuZmlndXJlIHtcbiAgJltkYXRhLWJnXSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYsXG4gICAgKyBmaWd1cmUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYubG9hZGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIH4gLmxvYWRlcixcbiAgICAgICsgZmlndXJlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxucCB7XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgfVxufVxuIiwiJHRyYW5zOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRjdWJpYzogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuJGJ1dHRvbi1ib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgkYmxhY2ssIC4xMSksIDAgMXB4IDNweCByZ2JhKCRibGFjaywgLjA4KTtcbiRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjogMCAxNHB4IDI4cHggcmdiYSgkYmxhY2ssIC4xKSwgMCA2cHggMTJweCByZ2JhKCRibGFjaywgLjA4KTtcbiRib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGJveC1zaGFkb3ctaG92ZXI6IDAgMThweCAzNXB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kYm94LXNoYWRvdy1sYXJnZTogMCAxOHB4IDE0MHB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG5cbiRsb2dvLXdpZHRoLWxhcmdlOiAyNzVweDtcbiRsb2dvLXdpZHRoLXhsYXJnZTogMzAwcHg7XG4kbG9nby13aWR0aC14eGxhcmdlOiAzNTBweDtcbiIsIi5icmVhZGNydW1icyB7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuMDFlbSBjdXJyZW50Q29sb3I7IC8qIG9yIDAuMDFlbSBtaWdodCBiZSBiZXR0ZXIgKi9cblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VwYXJhdG9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIH1cbn1cbiIsIi5idXR0b24tZ3JvdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gICYtLWNlbnRlcmVkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgKyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5obnktc3ZnIHtcbiAgICB3aWR0aDogMS43NWVtO1xuICAgIGhlaWdodDogMS43NWVtO1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogMC42O1xuXG4gICAgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4ge1xuICAgICsgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNpdGlvbjogMzAwbXM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAwZGVnLCBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKSAwJSwgcmdiYShzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKSwgMC44NSkgOTUlKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuaG55LXN2ZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICB9XG4gIH1cblxuICAmLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgMGRlZywgcmdiYSgkYmxhY2ssIDAuNSkgMCUsIHJnYmEoJHdoaXRlLCAwLjQpIDc1JSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi50aW55IHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gICYuaXMtbG9hZGluZyB7XG4gICAgPiBzcGFuIHtcbiAgICAgICY6bm90KC5sb2FkZXIpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmLmxvYWRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5pcy1kcmlsbGRvd24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgLmlzLW1vYmlsZS1uYXYtb3BlbiAmIHtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAqIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgICA+IGEge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgID4gYSB7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6QWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImxhYmVsIHtcbiAgJi5jaGVja2JveCB7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgKyBzcGFuIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICBAZXh0ZW5kICV1LXNjcmVlbi1yZWFkZXI7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCAkcHJpbWFyeS1jb2xvciBpbnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsInNlbGVjdCB7XHJcbiAgcGFkZGluZzogMC41cmVtIDEuNXJlbSAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5obnkge1xyXG4gIC5nZl9icm93c2VyX2llIHtcclxuICAgICYuZ2Zvcm1fd3JhcHBlciB7XHJcbiAgICAgIC5nZm9ybV9mb290ZXIge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmdmb3JtX3dyYXBwZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgaDEsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5nZl9icm93c2VyX2Nocm9tZSB7XHJcbiAgICAgIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQge1xyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZ2ZfYnJvd3Nlcl9zYWZhcmkge1xyXG4gICAgICB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX2h0bWwge1xyXG4gICAgICB0YWJsZSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAqIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuICAgICAgJi5zdHJvbmcge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmdvb2Qge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1jb2xvcjtcclxuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHdhcm5pbmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm1pc21hdGNoLFxyXG4gICAgICAmLnNob3J0LFxyXG4gICAgICAmLmJhZCB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAmLmdmb3JtX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdzZWN0aW9uIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICBsaS5nZmllbGQgKyAuZ3NlY3Rpb24sXHJcbiAgICBsaS5nZm1jLWNvbHVtbiArIC5nc2VjdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgJi5nc2VjdGlvbl90aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5naW5wdXRfY29udGFpbmVyLmdmaWVsZF90aW1lX2FtcG0ge1xyXG4gICAgICBzZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgJi5naW5wdXRfcHJvZHVjdF9wcmljZSxcclxuICAgICAgJi5naW5wdXRfdG90YWwge1xyXG4gICAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfdGltZV9ob3VyLFxyXG4gICAgLmdmaWVsZF90aW1lX21pbnV0ZSB7XHJcbiAgICAgIG1heC13aWR0aDogY2FsYyg0cmVtICsgLjVyZW0pO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuXHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaSxcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIEBleHRlbmQgJXUtc2NyZWVuLXJlYWRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgJi5nZm9ybV9maWVsZHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjQxKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkX3N1YmxhYmVsX2JlbG93IHtcclxuICAgICAgLmdpbnB1dF9jb21wbGV4IHtcclxuICAgICAgICAmLmdpbnB1dF9jb250YWluZXIge1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5naW5wdXRfY2FyZGV4dHJhcyB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5naW5wdXRfY2FyZF9zZWN1cml0eV9jb2RlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkIHtcclxuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG5cclxuICAgICAgJjpub3QoLmdmaWVsZF92aXNpYmlsaXR5X2hpZGRlbikge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEsXHJcbiAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xyXG4gICAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5naW5wdXRfcXVhbnRpdHkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIHdpZHRoOiA0LjI1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZF9zdWJsYWJlbF9iZWxvdyxcclxuICAgIC5maWVsZF9zdWJsYWJlbF9hYm92ZSB7XHJcbiAgICAgIC5naW5wdXRfY29tcGxleCB7XHJcbiAgICAgICAgJi5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICYuZ2ZfbGlzdF9pbmxpbmUge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICYuZ2ZpZWxkX2NoZWNrYm94LFxyXG4gICAgICAgICAgJi5nZmllbGRfcmFkaW8ge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxpLFxyXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50LFxyXG4gICAgICB1bC5nZmllbGRfY2hlY2tib3ggbGkge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS42MjVyZW07XHJcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDAuMmVtO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggJHByaW1hcnktY29sb3IgaW5zZXQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCxcclxuICAgICAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfbGlzdCB7XHJcbiAgICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgJi5nZmllbGRfbGlzdF9jZWxsIHtcclxuICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG9wX2xhYmVsIHtcclxuICAgICAgZGl2LmdpbnB1dF9jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICYuZ2ZpZWxkX3JhZGlvLFxyXG4gICAgICAgICAgJi5nZmllbGRfY2hlY2tib3gge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAmLnZhbGlkYXRpb25fZXJyb3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgJi5tZWRpdW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdpbnB1dF9wcmV2aWV3IHtcclxuICAgICAgaW1nOm5vdCguZ2Zvcm1fZGVsZXRlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgJi5nZmllbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XHJcbiAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICYuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgICAmLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oaWRkZW5fbGFiZWwge1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuXHJcbiAgICAgICAgICAubm8tbWF4LWhlaWdodCAmIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZ2ZpZWxkX2Vycm9yIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbiAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICB0ZXh0YXJlYSxcclxuICAgICAgICAgIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0zcHggMCAwICRhbGVydC1jb2xvcjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCB7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAmLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSB7XHJcbiAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlLFxyXG4gICAgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IHtcclxuICAgICAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XHJcblxyXG4gICAgICAgICYudmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmluc3RydWN0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdpbnB1dF9jb250YWluZXJfZGF0ZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgJi51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICByaWdodDogMC41cmVtO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG9wX2xhYmVsIGlucHV0LmxhcmdlLmRhdGVwaWNrZXIsIC50b3BfbGFiZWwgaW5wdXQubWVkaXVtLmRhdGVwaWNrZXIsIC50b3BfbGFiZWwgaW5wdXQuc21hbGwuZGF0ZXBpY2tlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nZm9ybV9hamF4X3NwaW5uZXIsXHJcbiAgICAuZ2Zvcm0tbG9hZGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgKyAuYnV0dG9uIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmdmb3JtX2J1dHRvbixcclxuICAgICAgICAmLmdmb3JtX25leHRfYnV0dG9uIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmb3JtX2Zvb3RlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIC5kZW5vdGVzLXJlcXVpcmVkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXHJcbiAgICAuZ2Zvcm1fZm9vdGVyIC5idXR0b24sXHJcbiAgICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyB7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICAgICAgYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xyXG4gICAgICAgICYuY2hvc2VuLXNlYXJjaC1pbnB1dCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyB7XHJcbiAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaG55LWRhdGUtdGltZS1saXN0IHtcclxuICAgICAgdGFibGUge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICsgdGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmdmb3JtX2RlbGV0ZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAuZ3JlY2FwdGNoYS1iYWRnZSB7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xyXG4gIH1cclxufVxyXG5cclxuaHRtbCB7XHJcbiAgLmdmb3JtX3dyYXBwZXIge1xyXG4gICAgJi5ncmF2aXR5LXRoZW1lIHtcclxuICAgICAgLmdmb3JtX3JlcXVpcmVkX2xlZ2VuZCB7XHJcbiAgICAgICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZm9ybV9zYXZlZF9tZXNzYWdlIHtcclxuICAgICAgICBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlc3VtZV9mb3JtX2xpbmtfd3JhcHBlciB7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcclxuXHJcbiAgICAgICAgICB+IHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV9zYXZlX2xpbmsge1xyXG4gICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2Zvcm1fc2F2ZV9saW5rIHtcclxuICAgICAgICAmLFxyXG4gICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgICAgICAgb3JkZXI6IDEwMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2ZpZWxkX3NpZ25hdHVyZV9jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICArIGRpdiB7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAgICAgICAuZ2Zvcm0taWNvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXHJcbiAgICAgIC5pbnN0cnVjdGlvbixcclxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyxcclxuICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSxcclxuICAgICAgLmluc3RydWN0aW9uLFxyXG4gICAgICAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XHJcbiAgICAgICAgYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiA5MiUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxyXG4gICAgICAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSxcclxuICAgICAgLmRlc2NyaXB0aW9uLFxyXG4gICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAuaW5zdHJ1Y3Rpb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2ZpZWxkX2Vycm9yIHtcclxuICAgICAgICAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgbGFiZWwsXHJcbiAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgbGVnZW5kIHtcclxuICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3JcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFthcmlhLWludmFsaWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSArIGxhYmVsLFxyXG4gICAgICBsYWJlbCArIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2ZpZWxkIHtcclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tdHlwZS1jaG9pY2Uge1xyXG4gICAgICAgICAgJjpub3QoLmdmX2xpc3RfaW5saW5lKSB7XHJcbiAgICAgICAgICAgIC5nY2hvaWNlIHtcclxuICAgICAgICAgICAgICArIC5nY2hvaWNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmllbGRfc3VibGFiZWxfYWJvdmUge1xyXG4gICAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjI1O1xyXG4gICAgICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50LFxyXG4gICAgICAgIC5nY2hvaWNlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcblxyXG4gICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMC41ZW0gMCAwO1xyXG5cclxuICAgICAgICAgICAgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmb3JtX2Zvb3RlcixcclxuICAgICAgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpub3QoLmdmb3JtX3NhdmVfbGluaykge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDE7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5nZm9ybV9idXR0b24sXHJcbiAgICAgICAgICAmLmdmb3JtX25leHRfYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG5cclxuICAgICAgICAgICAgKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG5cclxuICAgICAgICAgICAgKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICB+IC5nZm9ybV9uZXh0X2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfiAuZ2Zvcm1fc2F2ZV9saW5rIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmb3JtLWxvYWRlciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zcGFjaW5nICogMC41O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5ncmlkLWNvbnRhaW5lciB7XG4gICYtLWZ1bGwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJi0tbmFycm93IHtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggLyAxLjU7XG4gIH1cblxuICAmLS1zbGltIHtcbiAgICBtYXgtd2lkdGg6IDc2N3B4O1xuICB9XG5cbiAgJi0td2lkZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgLmhueSAmIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG5cbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuXG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcblxuICAgICAgICAgID4gLmNlbGwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNlbGwge1xuICAmLS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4iLCJoMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDEsXG5oMixcbmg1IHtcbiAgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbmgxIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcblxuICAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAwLjVlbTtcbiAgfVxufVxuXG5oMiB7XG4gIC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cbmg1IHtcbiAgY29sb3I6ICRsaWdodC1zZWNvbmRhcnk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblxuICAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAwLjg5NWVtO1xuICB9XG59XG5cbmg2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uaGVhZGluZyB7XG4gICZfX3ByZWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuaDQge1xuICAmLmhlYWRpbmcge1xuICAgIC5oZWFkaW5nX19wcmVoZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuIiwiLmhueS1zdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cbiIsIi5sLWhlcm8ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubC1tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuaXMtY2hlY2tvdXQgJixcbiAgLmNvbnRlbnQtY2VudGVyZWQgJiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuXG4ubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgJi0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuXG4gICAgLmhlcm8tLWxhbmRpbmcgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogN3JlbTtcbiAgICB9XG4gIH1cblxuICAmLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07XG4gIH1cbn1cblxuLmwtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcblxuICAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcblxuICAgIC5jZWxsIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC01MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICsgLnNpdGUtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgLmlzLWNoZWNrb3V0ICYsXG4gIC5jb250ZW50LWNlbnRlcmVkICYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIC5jb250ZW50LWNlbnRlcmVkLmVycm9yNDA0ICYge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmNoZWNrb3V0LFxuICAuZm91ci1vaC1mb3VyLFxuICAuY29udGVudC1ibG9ja3Mge1xuICAgIC5jb250ZW50LWNlbnRlcmVkICYge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDNyZW0gMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBhLFxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cbiAgICAgICAgJi5uZXh0LFxuICAgICAgICAmLnByZXYge1xuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhZ2luYXRpb24tcHJldmlvdXMsXG4gICAgICAmLnBhZ2luYXRpb24tbmV4dCB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuICB9XG5cbiAgLmNsb3NlLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2FydCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgZmxleDogMCAwIDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5obnktY2FydF9faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnNsYkVsZW1lbnQge1xuICAqIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG59XG5cbi5zbGJPdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2xiSW1hZ2VXcmFwIHtcbiAgJjphZnRlciB7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIH1cbn1cblxuLnNsYkFycm93IHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICBvcGFjaXR5OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNDAlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgaGVpZ2h0OiA0MCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB3aGl0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gICYucHJldiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5zbGljay1zbGlkZXIge1xuICAmLFxuICAqIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuW2RhdGEtc2xpY2stc2xpZGVyXSB7XG4gIFtkYXRhLXNsaWNrLXNsaWRlXSB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgIFtkYXRhLXNsaWNrLXNsaWRlXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICArIC5sb2FkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcblxuICAmLFxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuXG4gICYuc2xpY2stZGlzYWJsZWQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtMC4yNXJlbTtcbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTAuMjVyZW07XG59XG4iLCIuanEtdG9hc3Qtc2luZ2xlIHtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG5cbiAgLmhueS1ub3RpY2Uge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkc3VjY2Vzcy1jb2xvciwgMC45KTtcbiAgICB9XG5cbiAgICAmLS1lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRhbGVydC1jb2xvciwgMC45KTtcbiAgICB9XG4gIH1cbn1cblxuLmhueS1tZXNzYWdlIHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgYmFja2dyb3VuZDogcmdiYSgkc3VjY2Vzcy1jb2xvciwgMC45KTtcbiAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcblxuICBhIHtcbiAgICAmLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG4iLCIud3lzaXd5ZyB7XG4gIGEge1xuICAgICZbdGFyZ2V0PSdfYmxhbmsnXTpub3QoW2hyZWYkPVwiLnBkZlwiXSkge1xuICAgICAgQGV4dGVuZCAldS1leHRlcm5hbC1saW5rO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIH1cblxuICAuYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwLjVyZW0gMXJlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuYWxpZ25ub25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xuICB9XG5cbiAgLmdhbGxlcnkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiAwLjE2NjY2NjY2NyU7XG4gICAgICBtYXJnaW46IDAgMCAyJTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5nZmllbGRfY2hlY2tib3gpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1jYXB0aW9uIHtcbiAgICA+IGZpZ2NhcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICAmLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuICB9XG59XG4iLCIuZm91ci1vaC1mb3VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLmFydGljbGUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTUwcHggKyAxLjVyZW0pO1xuICB9XG5cbiAgJl9fdGh1bWJuYWlsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG4iLCIuYmFjay10by10b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDAuNXJlbTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTk5OTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbjogLTE0cHggMCAwIC0xM3B4O1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuIiwiLmJyb2NodXJlcyB7XG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTUwJTtcbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjgpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2FsY3VsYXRvcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fdW5pdHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbm90aWNlIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX29wdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAkZm9ybS1zcGFjaW5nIC8gMiAwIDA7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAsXG4gIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fdXRpbGl0eSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG59XG5cbi5jYWxjdWxhdG9yIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG5cbiAgZW0ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgJi0taGFzLWVycm9yIHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdG90YWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuXG4gICZfX3BsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvZHktZm9udC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICArIC5jYWxjdWxhdG9yX19wbGFjZWhvbGRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2Vycm9yIHtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICArIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgJi0tYm94IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAzcmVtO1xuICAgIH1cblxuICAgIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLS1wcm9kdWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS41cmVtKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogLTAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC43KTtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgJl9fcHJpY2Uge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuXG4gICZfX3Bob3RvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3ctaG92ZXI7XG5cbiAgICA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICsgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhcmVlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNSk7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICsgLmNhcmVlciB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIGZsZXg6IDE7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IGRvd24pIHtcbiAgICAgICAgcGFkZGluZzogMC41ZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICsgLmhueS1zdmcge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhcmVlcnMge1xuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAmX19ibG9jayB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgKyAuY2FyZWVyc19fYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNoZWNrbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAmLS10d28tY29sdW1uIHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW07XG4gICAgY29sdW1uLWNvdW50OiAyO1xuXG4gICAgbGkge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIwcHggKyAwLjVyZW0pO1xuXG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgZmlsbDogJHdhcm5pbmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2hlY2tvdXQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaXRlLXNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG4iLCIuY29sb3Bob24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC43O1xuICB6LWluZGV4OiAzO1xuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX2xlZ2FsZXNlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5sZWdhbC1uYXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgKyAubGVnYWwtbmF2X19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0LWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgJi0tY2VudGVyZWQge1xuICAgIC5jb250YWN0LWxpc3RfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIuMjVyZW0gKyAxcmVtKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgLmwtaGVhZGVyICYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxcmVtICsgMC41cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vLWljb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgLmwtaGVhZGVyICYge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAgID4gc3BhbixcbiAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgPiBzdHJvbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcGhvbmUtbnVtYmVyIHtcbiAgICA+IGxpIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXBob25lLW51bWJlcnMge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgKyAuY29udGFjdC1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cbn1cbiIsIi5jb250ZW50LWJsb2NrIHtcbiAgJjpub3QoLmNvbnRlbnQtYmxvY2stLW5vLXNwYWNpbmcpOm5vdCguY29udGVudC1ibG9jay0tYmFja2dyb3VuZCkge1xuICAgICsgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgJjpub3QoLmNvbnRlbnQtYmxvY2stLW5vLXNwYWNpbmcpOm5vdCguY29udGVudC1ibG9jay0tYmFja2dyb3VuZCkge1xuICAgICAgICAubC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbm8tc3BhY2luZyB7XG4gICAgLmwtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi0tYmFja2dyb3VuZCB7XG4gICAgJi0td2hpdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX2xheW91dCB7XG4gICAgJi0tdHdvLWNvbHVtbixcbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICArIC5jZWxsIHtcbiAgICAgICAgICAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgLmdyaWQteCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10d28tY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgybiszKSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgybis0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGhyZWUtY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis0KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis1KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis2KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm91ci1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzUpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzYpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzcpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maXZlLWNvbHVtbiB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzYpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbis3KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgxMG4rOCksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzkpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbisxMCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoIC8gMS40O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tY2VudGVyZWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbHVtbiB7XG4gICAgLmNvbnRlbnQtYmxvY2stLWNlbnRlcmVkIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gJiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21vZHVsZTpub3QoLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0taGVhZGluZykge1xuICAgICsgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX21vZHVsZSB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmX19jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19tb2R1bGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0tcHJpY2UsXG4gICAgICAgICYuY29udGVudC1ibG9ja19fbW9kdWxlLS1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcudHJhY3Rvci10cnVjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogI3stJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICogMn07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxMjUlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTZyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICB9XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4ge1xuICAgICAgLmlzLXJlY3ljbGluZy1jZW50cmUtbGFuZGluZyAmIHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgb25seSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IG9ubHkpIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmFxLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleDogMSAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyb3VwIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAuZmFxLWxpc3RfX2dyb3VwIHtcbiAgICAgIC5mYXEtbGlzdF9fZ3JvdXBfX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgPiBkaXYge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwIDAgMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNyk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMGRlZywgcmdiYSgkd2hpdGUsIDApLCByZ2JhKCR3aGl0ZSwgMC41KSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3F1ZXN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiAtNXJlbTtcbiAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiAtNXJlbTtcbiAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC4xKTtcbiAgICAgIGNvbnRlbnQ6ICdRJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fcXVlc3Rpb24sXG4gICZfX2Fuc3dlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fuc3dlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTVyZW07XG4gICAgICB3aWR0aDogNHJlbTtcbiAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICdBJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICBTaHVmZmxlIG5lZWRzIGVpdGhlciByZWxhdGl2ZSBvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvbiB0aGUgY29udGFpbmVyXG4gIEl0IHdpbGwgc2V0IGl0IGZvciB5b3UsIGJ1dCBpdCdsbCBjYXVzZSBhbm90aGVyIHN0eWxlIHJlY2FsY3VsYXRpb24gYW5kIGxheW91dC5cbiAgQUtBIHdvcnNlIHBlcmZvcm1hbmNlIC0gc28ganVzdCBzZXQgaXQgaGVyZVxuICovXG4uZ2FsbGVyeSB7XG4gICZfX2dyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDAuNzVyZW0pO1xuXG4gICAgLm1lZGl1bS0zIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuMTg3NXJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3NpemVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLnNxdWFyZSB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmLm1lZGl1bS0zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlICsgMC45Mzc1cmVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhhbGYge1xuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJyZW07XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHQtZ3JheSwgMC41KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmxvYWRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5nZHByIHtcbiAgJl9fZ3JpZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgICsgLmdkcHJfX2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICBmbGV4OiAxIDE7XG5cbiAgICAgICsgLmdkcHJfX2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkbWVkaXVtLWdyYXksIDAuMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgZmxleDogMSAxO1xuXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Nvb2tpZS1sYXctaW5mby1iYXIge1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbn1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cblxuICAuZ2Rwci1ub3RpY2Uge1xuICAgICsgaDMge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgKyBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiNnZHByLXN1Ym1pdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbiAgQGV4dGVuZCAuYnV0dG9uO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuXG4uaG55IHtcbiAgLmNvb2tpZWxhd2luZm8tcm93LWNhdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5nbG9iYWwtYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIHotaW5kZXg6IDk5OTk4O1xuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTApIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuXG4gICZfX3V0aWxpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYnV0dG9uLnRpbnkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTAgZG93bikge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkZXItdXRpbGl0eSB7XG4gIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC43NSk7XG5cbiAgLmhueS1zdmcge1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuXG4gICAgJi0tZmFjZWJvb2sge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbixcbiAgYSB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44OTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44OTVyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTI1ZW07XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5uYXZidXJnZXIge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxvZ28td2lkdGgtbGFyZ2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsb2dvLXdpZHRoLXh4bGFyZ2U7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBvbmx5KSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuODk1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvbWUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpdmlkZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cblxuICAgICAgfiAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICYuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWNvbnRhY3Qge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDIwIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oZWFkZXItdXRpbGl0eV9faXRlbS0tZmFjZWJvb2sge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2l0ZS1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICZfX2lucHV0IHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgfVxuXG4gICAgLmlzLXNlYXJjaC1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiA0LjVyZW07XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgOHB4IDhweCA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLXNlYXJjaC1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoJGJsYWNrLCAwLjkpO1xuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3ICsgMTBweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3ICsgMTBweCk7XG4gICAgfVxuXG4gICAgLmhlcm8tLWxhbmRpbmcgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAzNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjUlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjByZW07XG4gICAgfVxuICB9XG5cbiAgJi0tbGFuZGluZyB7XG4gICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmX19zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSB7XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkIHtcbiAgICAgIC5zd2lwZXItc2xpZGU6bm90KC5zd2lwZXItc2xpZGUtYWN0aXZlKSB7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgKyAuY29udGVudC1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICA+IC5jb250ZW50LWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbTtcblxuICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuaG55LWNhcnQge1xuICAucmV2ZWFsICYge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgKyAuaG55LWNhcnRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICAgJi0tdG90YWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJldmVhbCAmIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogc2NhbGUtY29sb3IoJGxpZ2h0LWdyYXksICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1wcm9kdWN0IHtcbiAgICAgIC5obnktY2FydF9faXRlbS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG90YWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJi0tZW1wdHkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvdGFsIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gICZfX2l0ZW0tcmVtb3ZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBwYWRkaW5nOiAwLjEyNWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJGFsZXJ0LWNvbG9yO1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWRldGFpbHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9faXRlbS1xdWFudGl0eSxcbiAgJl9faXRlbS1wcmljZSB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgfVxuXG4gICZfX2l0ZW0tcGhvdG8ge1xuICAgIG1heC13aWR0aDogNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXg6IDAgMCA1MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdG90YWwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgJl9faXRlbS11dGlsaXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICArIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuXG4gICAgICAmLS1jaGVjayB7XG4gICAgICAgIGZpbGw6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLS11bmRvIHtcbiAgICAgICAgZmlsbDogJHdhcm5pbmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1lZGl0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgLmlzLWVkaXRpbmcgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMCAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyBkaXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICArIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5pcy1lZGl0aW5nICYge1xuICAgICAgPiBkaXY6bm90KC5obnktY2FydF9faXRlbS1lZGl0b3IpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmlubGluZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgKiB7XG4gICAgKyAuaG55LXN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDAuNzVlbTtcbiAgICBoZWlnaHQ6IDAuNzVlbTtcblxuICAgICsgKiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICB9XG5cbiAgICAmLS1jaGVjayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxucC5sZWFkIHtcbiAgJi5pbmxpbmUtaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgIHNwYW4ge1xuICAgICAgKyAuaG55LXN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEuNzVlbTtcbiAgICAgIG1heC13aWR0aDogMS43NWVtO1xuICAgICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgICBmbGV4OiAwIDAgMS43NWVtO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmxpc3Rpbmcge1xuICAmLS1wb3N0IHtcbiAgICAuY2VsbCB7XG4gICAgICArIC5jZWxsIHtcbiAgICAgICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LCAwLjMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgKyAubGlzdGluZ19faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrIHtcbiAgICArIC5saXN0aW5nX19ibG9jayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2FkZXItb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLmlzLWxvYWRpbmcgJiB7XG4gICAgY3Vyc29yOiB3YWl0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgIGNvbG9yOiAkbGlnaHQtc2Vjb25kYXJ5O1xuICB9XG59XG5cbi5sb2FkZXIge1xuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGFuaW1hdGlvbjogb3BhY2l0eWNoYW5nZSAxcyBlYXNlLWluLW91dCAwLjMzcyBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBhbmltYXRpb246IG9wYWNpdHljaGFuZ2UgMXMgZWFzZS1pbi1vdXQgMC42NnMgaW5maW5pdGU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgb3BhY2l0eWNoYW5nZSB7XG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIubG9nbyB7XG4gID4gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4xNSkgMCUsICR3aGl0ZSA2MCUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkd2hpdGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgZmlndXJlIHtcbiAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19sb2NhdGlvbiB7XG4gICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAyMHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogNnJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNzVweCByZ2JhKCRibGFjaywgMC40KSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC41cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAwIDE1cHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMTVweCAxNXB4IDE1cHggMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoJHdoaXRlLCAwLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFzdGhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZmxleDogMCAwIDEwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgIC5sb2dvIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogODJweDtcbiAgICAgICAgaGVpZ2h0OiA3M3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgZmxleDogMCAwIDE1MHB4O1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEyNHB4O1xuICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgZmxleDogMCAwIDEyMHB4O1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoI3skbG9nby13aWR0aC1sYXJnZX0gLSAzcmVtKTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1NnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyRsb2dvLXdpZHRoLXhsYXJnZX0gLSAzcmVtKTtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JGxvZ28td2lkdGgteHhsYXJnZX0gLSAzcmVtKTtcbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxvZ28td2lkdGgtbGFyZ2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsb2dvLXdpZHRoLXh4bGFyZ2U7XG4gICAgfVxuXG4gICAgLm5hdmJ1cmdlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjc1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1NXB4O1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAuaG55ICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXJzIHtcbiAgICAgIC5jb250YWN0LWxpc3RfX2l0ZW0ge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWluaS1jYXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMThweDtcblxuICAuaG55LXN2ZyB7XG4gICAgLmhlYWRlci11dGlsaXR5ICYge1xuICAgICAgd2lkdGg6IDIuNjI1ZW07XG4gICAgICBoZWlnaHQ6ICN7Mi42MjVlbSAvIDIuMTUwNTM3NjM0NDA4NjAyfTtcbiAgICB9XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5tb2JpbGUtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMHZ3O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XG4gIHBhZGRpbmc6IDI2cHggMzNweCAyNnB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5OTk5OTk5O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcblxuICAgIC5tb2JpbGUtbmF2X19pdGVtLS1kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kcmlsbGRvd24tb3BlbiB7XG4gICAgLm1vYmlsZS1uYXZfX2l0ZW0ge1xuICAgICAgPiBhIHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLW91dC1sZWZ0IDFzIGVhc2UgYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmhueS1zdmcge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IDFzIGVhc2UgYm90aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24ge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cbiAgfVxuXG4gID4gYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDE3cHggMjRweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDJweDtcbiAgICAgICAgaGVpZ2h0OiA5MXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC41cztcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgICAgICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tbGVmdCAxcyBlYXNlIGJvdGg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtc3VibWVudSB7XG4gICAgICA+IGEge1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDAuMzI1ZW07XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAmIHtcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tbGVmdCAxcyBlYXNlIGJvdGg7XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1yaWdodCAxLjVzIGVhc2UgYm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxbXMgbGluZWFyO1xuXG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBsaSB7XG4gICAgICAgICYuanMtZHJpbGxkb3duLWJhY2sge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tcmlnaHQgMXMgZWFzZSBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tcmlnaHQgMXMgZWFzZSBib3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtaW4tbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSlcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtaW4tcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpXG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaW1wbGUtZmFkZS1vdXQtcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgfVxufVxuIiwiLm1vYmlsZS11dGlsaXR5IHtcbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1kcmlsbGRvd24tb3BlbiAmIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LWxlZnQgMXMgZWFzZSBib3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFkZGVkLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDVyZW07XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1kYXJrIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICAmLmhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5waG90byB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuXG4gIGZpZ3VyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZ1bGwtd2lkdGggJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLS1jbGVhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblxuICAuY29udGVudC1ibG9jayAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgIC5wcmljZS0tc3BlY2lhbCAmIHtcbiAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuXG4gICAgaW5zIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX191bml0IHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG5cbiAgZGVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG59XG4iLCIucHJpbWFyeS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4yKSAwJSwgJHdoaXRlIDYwJSk7XG4gIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICY6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgKyBsaSB7XG4gICAgICAgICY6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4wNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuMjVyZW07XG4gICAgICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgICAgIGhlaWdodDogMC43NWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBmaWxsOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgIDBkZWcsIHJnYmEoJHN1Y2Nlc3MtY29sb3IsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFsdCB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnByaW1hcnktbmF2X19pdGVtLS1hY3RpdmUge1xuICAgICAgICA+IGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIDBkZWcsIHJnYmEoJGFsZXJ0LWNvbG9yLCAwLjIpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgJi0tZGl2aWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICsgbGkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTM1ZGVnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNWEzZGE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgMGRlZywgIzE1YTNkYSAwJSwgcmdiYSgkd2hpdGUsIDAuMikgMTAwJSk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAmLS1hY3RpdmUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDk5OTlweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMzVkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgMGRlZywgcmdiYSgkc3VjY2Vzcy1jb2xvciwgMC4yNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjVyZW07XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogcmdiYSgkYmxhY2ssIDAuNSkgMCAxcHggMXB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICAgICAgICB9XG5cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4yKSAwJSwgJHdoaXRlIDYwJSk7XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiAgICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbS0tYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07XG5cbiAgLmNvbHVtbiAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDE1cHggcmdiYSgkYmxhY2ssIDAuOSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgPiBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogMzAwbXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogMjAwbXM7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKSBzY2FsZVkoMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogNDAwbXM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG55IHtcbiAgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIGRpdi5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MzApIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXIge1xuICAgIGJvcmRlcjogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGFnaW5hdGlvbiB7XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgICsgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3Qge1xuICAmX19nYWxsZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAucmV2ZWFsICYge1xuICAgICAgICBtYXgtd2lkdGg6IDEzNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1cGVyLXNhY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB+IGRpdiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDgwcHggKyAxLjVyZW0pO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMTAwcHggKyAxLjVyZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ByaWNlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIH1cblxuICAgICAgLnJldmVhbCAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgfVxuXG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgKyAucHJvZHVjdF9fYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAucmV2ZWFsICYge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgJi0tbm8tYm9yZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuYWRkLXRvLWNhcnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IG9ubHkpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jdGEge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG5cbiAgICAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXIge1xuICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnd5c2l3eWcge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxufVxuIiwiLnJlY2VudC11cGRhdGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgLTEuNXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5wYWRkZWQtYmxvY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgZmxleDogMCAwIDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLyogY29tbW9uICovXG4ucmliYm9uIHtcbiAgei1pbmRleDogMjA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgd2lkdGg6IDIyNXB4O1xuICAgIGhlaWdodDogMjI1cHg7XG4gIH1cbn1cblxuLnJpYmJvbjo6YmVmb3JlLFxuLnJpYmJvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogLTE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiA1cHggc29saWQgc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnJpYmJvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAkYWxlcnQtY29sb3I7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAkYWxlcnQtY29sb3IgMCUsIHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogMjAlKSAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgfVxufVxuXG4vKiB0b3AgbGVmdCovXG4ucmliYm9uLXRvcC1sZWZ0IHtcbiAgdG9wOiAtMXJlbTtcbiAgbGVmdDogLTFyZW07XG5cbiAgLnByb2R1Y3QtZ2FsbGVyeSAmIHtcbiAgICB0b3A6IC0wLjVyZW07XG4gICAgbGVmdDogLTAuNXJlbTtcbiAgfVxufVxuXG4ucmliYm9uLXRvcC1sZWZ0OjpiZWZvcmUsXG4ucmliYm9uLXRvcC1sZWZ0OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5yaWJib24tdG9wLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5yaWJib24tdG9wLWxlZnQ6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ucmliYm9uLXRvcC1sZWZ0IHNwYW4ge1xuICB0b3A6IDQ3cHg7XG4gIHJpZ2h0OiAtMjhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHRvcDogNzBweDtcbiAgICByaWdodDogLTQ3cHg7XG4gIH1cbn1cbiIsIi5zZWFyY2gtaGVhZGVyIHtcbiAgJl9fY291bnQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpbmdsZS1wb3N0IHtcbiAgLnBob3RvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAmX190b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgaDUuaGVhZGluZyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgPiAuZ3JpZC1jb250YWluZXIge1xuICAgICAgPiAuZ3JpZC14IHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgKyAuY2VsbCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWRkZWQtYmxvY2sge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpdGUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtMnJlbTtcbiAgei1pbmRleDogMjAwO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMS41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFzdGhlYWQge1xuICAgIGZsZXg6IDEgMTtcbiAgfVxuXG4gICZfX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgb3JkZXI6IDEwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuIiwiLnNpdGUtc2VhcmNoIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmhlcm8gJiB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIH1cblxuICAuaG9tZSAuaGVybyAmIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxO1xuXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgICAubC1tYWluICYge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICB9XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjc1KTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjk1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgLmwtbWFpbiAmIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgIC5sLW1haW4gJiB7XG4gICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICAmW2hyZWZdIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGZyYWdtZW50IGlkZW50aWZpZXJzLCBvciA6dGVsIGxpbmtzXG4gICAgJltocmVmXj0ndGVsJ10sXG4gICAgW2hyZWZePScjJ10ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICBhYmJyIHtcbiAgICAmW3RpdGxlXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIEF2b2lkIGltYWdlcyBibGVlZGluZyBvZmYgdGhlIGVkZ2VzIG9mIHRoZSBwYWdlXG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuXG4gIC5yZWNlbnQtdXBkYXRlcyB7XG4gICAgLmdyaWQteCB7XG4gICAgICAuZ3JpZC14IHtcbiAgICAgICAgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qge1xuICAgIC5jZWxsLmhpZGUtZm9yLXByaW50IHtcbiAgICAgICsgLmNlbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
