@charset "UTF-8";
/* Default colors */
/* Primary colors */
/* Custom colors */
/* States color */
/* Outlines colors */
/* Overlays */
/**
 * Foundation for Sites
 * Version 6.8.1
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

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

a {
  background-color: transparent;
}

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

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

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 {
  border-style: none;
  padding: 0;
}

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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          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;
}

[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus,
[data-whatintent=touch] *,
[data-whatintent=touch] *:focus,
[data-whatinput=mouse] *,
[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *,
[data-whatinput=touch] *:focus {
  outline: none;
}

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64em&xlarge=80em&xxlarge=90em";
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 22px;
}

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "IBM Plex Sans", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.36;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

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

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

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

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

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

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

[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 {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 1.6709090909rem;
  margin: 0 0 0.7272727273rem;
  padding: 0.3636363636rem;
  border: 1px solid #7a9899;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 0.7272727273rem;
  font-weight: 400;
  line-height: 1.36;
  color: #000000;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
[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 {
  outline: none;
  border: 1px solid #4c4c4e;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #7a9899;
          box-shadow: 0 0 5px #7a9899;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

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

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

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

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

::-webkit-input-placeholder {
  color: #7a9899;
}

::-moz-placeholder {
  color: #7a9899;
}

:-ms-input-placeholder {
  color: #7a9899;
}

::-ms-input-placeholder {
  color: #7a9899;
}

::placeholder {
  color: #7a9899;
}

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.6363636364rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000000;
}
label.middle {
  margin: 0 0 0.7272727273rem;
  line-height: 1.36;
  padding: 0.4090909091rem 0;
}

.help-text {
  margin-top: -0.3636363636rem;
  font-size: 0.5909090909rem;
  font-style: italic;
  color: #000000;
}

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #7a9899;
  background: #c8d6d6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

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

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

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

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

.fieldset {
  margin: 0.8181818182rem 0;
  padding: 0.9090909091rem;
  border: 1px solid #7a9899;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1363636364rem;
  padding: 0 0.1363636364rem;
}

select {
  height: 1.6709090909rem;
  margin: 0 0 0.7272727273rem;
  padding: 0.3636363636rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #7a9899;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.7272727273rem;
  font-weight: 400;
  line-height: 1.36;
  color: #000000;
  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%2876, 76, 78%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -0.7272727273rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.0909090909rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  outline: none;
  border: 1px solid #4c4c4e;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #7a9899;
          box-shadow: 0 0 5px #7a9899;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:disabled {
  background-color: #c8d6d6;
  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: #ff0000;
  background-color: rgb(255, 229.5, 229.5);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #ff0000;
}

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

.form-error {
  display: none;
  margin-top: -0.3636363636rem;
  margin-bottom: 0.7272727273rem;
  font-size: 0.5454545455rem;
  font-weight: 700;
  color: #ff0000;
}
.form-error.is-visible {
  display: block;
}

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "IBM Plex Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #000000;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #7a9899;
}

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 2.1818181818rem;
  }
  h2, .h2 {
    font-size: 1.8181818182rem;
  }
  h3, .h3 {
    font-size: 1.4090909091rem;
  }
  h4, .h4 {
    font-size: 1.1363636364rem;
  }
  h5, .h5 {
    font-size: 0.9090909091rem;
  }
  h6, .h6 {
    font-size: 0.7272727273rem;
  }
}
a {
  line-height: inherit;
  color: #000000;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: black;
}
a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 58.1818181818rem;
  height: 0;
  margin: 0.9090909091rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #7a9899;
  border-left: 0;
}

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.4090909091rem 0.9090909091rem 0 0.8636363636rem;
  border-left: 1px solid #7a9899;
}
blockquote, blockquote p {
  line-height: 1.36;
  color: #4c4c4e;
}

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

figure {
  margin: 0;
}

kbd {
  margin: 0;
  padding: 0.0909090909rem 0.1818181818rem 0;
  background-color: #c8d6d6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000;
}

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

.lead {
  font-size: 27.5px;
  line-height: 1.6;
}

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

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

.cite-block, cite {
  display: block;
  color: #4c4c4e;
  font-size: 0.5909090909rem;
}
.cite-block:before, cite:before {
  content: "— ";
}

.code-inline, code {
  border: 1px solid #7a9899;
  background-color: #c8d6d6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #000000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.0909090909rem 0.2272727273rem 0.0454545455rem;
}

.code-block {
  border: 1px solid #7a9899;
  background-color: #c8d6d6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #000000;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.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: 48em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #4c4c4e;
    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;
  }
}
.grid-container {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
  max-width: 58.1818181818rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 48em) {
  .grid-container {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.grid-container.fluid {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 48em) {
  .grid-container.fluid {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .medium-shrink {
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .large-shrink {
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

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

.grid-margin-x {
  margin-left: -0.4545454545rem;
  margin-right: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-x {
    margin-left: -0.6818181818rem;
    margin-right: -0.6818181818rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 0.9090909091rem);
  margin-left: 0.4545454545rem;
  margin-right: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.3636363636rem);
    margin-left: 0.6818181818rem;
    margin-right: 0.6818181818rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 0.9090909091rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 0.9090909091rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 0.9090909091rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 0.9090909091rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 0.9090909091rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 0.9090909091rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 0.9090909091rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 0.9090909091rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 0.9090909091rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 0.9090909091rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 0.9090909091rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 0.9090909091rem);
}
@media print, screen and (min-width: 48em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.3636363636rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.3636363636rem);
  }
}
@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.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 1.3636363636rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 1.3636363636rem);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
}
.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.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 48em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 48em) {
  .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: 48em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

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

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

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 0.9090909091rem / 2);
}

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

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

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

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

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 0.9090909091rem / 2);
}

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 0.9090909091rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 0.9090909091rem / 2);
}

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 0.9090909091rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 0.9090909091rem / 2);
}

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 0.9090909091rem / 2);
}

@media print, screen and (min-width: 48em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.3636363636rem / 2);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.3636363636rem / 2);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.3636363636rem / 2);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.3636363636rem / 2);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 1.3636363636rem / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.3636363636rem / 2);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.3636363636rem / 2);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.3636363636rem / 2);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.3636363636rem / 2);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 1.3636363636rem / 2);
  }
}
.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          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 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
@media print, screen and (min-width: 48em) {
  .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 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 48em) {
  .grid-y > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    height: auto;
  }
  .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    height: auto;
  }
  .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.4545454545rem;
  margin-bottom: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -0.6818181818rem;
    margin-bottom: -0.6818181818rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 0.4545454545rem;
  padding-bottom: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y > .cell {
    padding-top: 0.6818181818rem;
    padding-bottom: 0.6818181818rem;
  }
}

.grid-margin-y {
  margin-top: -0.4545454545rem;
  margin-bottom: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -0.6818181818rem;
    margin-bottom: -0.6818181818rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 0.9090909091rem);
  margin-top: 0.4545454545rem;
  margin-bottom: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.3636363636rem);
    margin-top: 0.6818181818rem;
    margin-bottom: 0.6818181818rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 0.9090909091rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 0.9090909091rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 0.9090909091rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 0.9090909091rem);
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.3636363636rem);
  }
}
@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.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.3636363636rem);
  }
}

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -0.4545454545rem;
  margin-bottom: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -0.6818181818rem;
    margin-bottom: -0.6818181818rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 0.9090909091rem);
  margin-top: 0.4545454545rem;
  margin-bottom: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.3636363636rem);
    margin-top: 0.6818181818rem;
    margin-bottom: 0.6818181818rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 0.9090909091rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 0.9090909091rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 0.9090909091rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 0.9090909091rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 0.9090909091rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 0.9090909091rem);
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.3636363636rem);
  }
}
@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.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.3636363636rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.3636363636rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.3636363636rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1.3636363636rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1.3636363636rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.3636363636rem);
  }
}

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

@media print, screen and (min-width: 48em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.3636363636rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.3636363636rem);
  }
}
.row {
  max-width: 58.1818181818rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.row .row {
  margin-right: -0.4545454545rem;
  margin-left: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .row .row {
    margin-right: -0.6818181818rem;
    margin-left: -0.6818181818rem;
  }
}
@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.6818181818rem;
    margin-left: -0.6818181818rem;
  }
}
.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}
.row.expanded {
  max-width: none;
}
.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}
.row:not(.expanded) .row {
  max-width: none;
}
.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}
.row.is-collapse-child, .row.collapse > .column > .row, .row.collapse > .columns > .row {
  margin-right: 0;
  margin-left: 0;
}

.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
  min-width: 0;
}
@media print, screen and (min-width: 48em) {
  .column, .columns {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}

.column.row.row, .row.row.columns {
  float: none;
  display: block;
}

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

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

.small-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

.small-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

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

.small-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

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

.small-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

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

.small-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

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

.small-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

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

.small-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

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

.small-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%;
}

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

.small-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

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

.small-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

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

.small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-1 > .column, .small-up-1 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-2 > .column, .small-up-2 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-3 > .column, .small-up-3 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-4 > .column, .small-up-4 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-5 > .column, .small-up-5 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  max-width: 20%;
}

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-6 > .column, .small-up-6 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-7 > .column, .small-up-7 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14.2857142857%;
          flex: 0 0 14.2857142857%;
  max-width: 14.2857142857%;
}

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.small-up-8 > .column, .small-up-8 > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
  max-width: 12.5%;
}

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
}

@media print, screen and (min-width: 48em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 48em) {
  .row.medium-unstack > .column, .row.medium-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .large-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 64em) {
  .row.large-unstack > .column, .row.large-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}

.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%;
}

.column-block {
  margin-bottom: 0.9090909091rem;
}
.column-block > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .column-block {
    margin-bottom: 1.3636363636rem;
  }
  .column-block > :last-child {
    margin-bottom: 0;
  }
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 16px 56px;
  border: 0 none;
  border-radius: 24px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: bold;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
  background-color: #009750;
  color: #ffffff;
}
.button:hover, .button:focus {
  background-color: #ffed00;
  color: #ffffff;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #009fe3;
  color: #000000;
}
.button.primary:hover, .button.primary:focus {
  background-color: rgb(0, 127.2, 181.6);
  color: #000000;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #7a9899;
  color: #000000;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgb(95.4893617021, 123.5744680851, 124.5106382979);
  color: #000000;
}
.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
  background-color: #55aa00;
  color: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: #448800;
  color: #000000;
}
.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
  background-color: #ff8800;
  color: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: rgb(204, 108.8, 0);
  color: #000000;
}
.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
  background-color: #ff0000;
  color: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: #cc0000;
  color: #000000;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 1px solid #009750;
  color: #009750;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: rgb(0, 75.5, 40);
  color: rgb(0, 75.5, 40);
}
.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
  border: 1px solid #009fe3;
  color: #009fe3;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: rgb(0, 79.5, 113.5);
  color: rgb(0, 79.5, 113.5);
}
.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
  border: 1px solid #7a9899;
  color: #7a9899;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 1px solid #55aa00;
  color: #55aa00;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: rgb(42.5, 85, 0);
  color: rgb(42.5, 85, 0);
}
.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
  border: 1px solid #ff8800;
  color: #ff8800;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: rgb(127.5, 68, 0);
  color: rgb(127.5, 68, 0);
}
.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
  border: 1px solid #ff0000;
  color: #ff0000;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: rgb(127.5, 0, 0);
  color: rgb(127.5, 0, 0);
}
.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
  color: #009750;
}
.button.clear:hover, .button.clear:focus {
  color: rgb(0, 75.5, 40);
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
  color: #009fe3;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: rgb(0, 79.5, 113.5);
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
  color: #7a9899;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
  color: #55aa00;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: rgb(42.5, 85, 0);
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
  color: #ff8800;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: rgb(127.5, 68, 0);
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
  color: #ff0000;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: rgb(127.5, 0, 0);
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-bottom-width: 0;
  border-color: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 56px;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #009750;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #009fe3;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #7a9899;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #55aa00;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ff8800;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #ff0000;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.button-group::before, .button-group::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.button-group::after {
  clear: both;
}
.button-group::before, .button-group::after {
  display: none;
}
.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.6rem;
}
.button-group.small .button {
  font-size: 0.75rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
  background-color: #009fe3;
  color: #000000;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: rgb(0, 127.2, 181.6);
  color: #000000;
}
.button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
  background-color: #7a9899;
  color: #000000;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: rgb(95.4893617021, 123.5744680851, 124.5106382979);
  color: #000000;
}
.button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
  background-color: #55aa00;
  color: #000000;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #448800;
  color: #000000;
}
.button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
  background-color: #ff8800;
  color: #000000;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: rgb(204, 108.8, 0);
  color: #000000;
}
.button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
  background-color: #ff0000;
  color: #000000;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #cc0000;
  color: #000000;
}
.button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
  background-color: transparent;
}
.button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
  border: 1px solid #009750;
  color: #009750;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: rgb(0, 75.5, 40);
  color: rgb(0, 75.5, 40);
}
.button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
  border: 1px solid #009fe3;
  color: #009fe3;
}
.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
  border-color: rgb(0, 79.5, 113.5);
  color: rgb(0, 79.5, 113.5);
}
.button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
  border: 1px solid #7a9899;
  color: #7a9899;
}
.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
  border-color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
  border: 1px solid #55aa00;
  color: #55aa00;
}
.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
  border-color: rgb(42.5, 85, 0);
  color: rgb(42.5, 85, 0);
}
.button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
  border: 1px solid #ff8800;
  color: #ff8800;
}
.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
  border-color: rgb(127.5, 68, 0);
  color: rgb(127.5, 68, 0);
}
.button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
  border: 1px solid #ff0000;
  color: #ff0000;
}
.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
  border-color: rgb(127.5, 0, 0);
  color: rgb(127.5, 0, 0);
}
.button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
  color: #009750;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: rgb(0, 75.5, 40);
}
.button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
  color: #009fe3;
}
.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
  color: rgb(0, 79.5, 113.5);
}
.button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
  color: #7a9899;
}
.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
  color: #55aa00;
}
.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
  color: rgb(42.5, 85, 0);
}
.button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
  color: #ff8800;
}
.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
  color: rgb(127.5, 68, 0);
}
.button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
  color: #ff0000;
}
.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
  color: rgb(127.5, 0, 0);
}
.button-group.no-gaps .button {
  margin-right: -0.0454545455rem;
}
.button-group.no-gaps .button + .button {
  border-left-color: transparent;
}
.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
@media print, screen and (min-width: 48em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.close-button {
  position: absolute;
  z-index: 10;
  color: #4c4c4e;
  cursor: pointer;
}
[data-whatinput=mouse] .close-button {
  outline: 0;
}
.close-button:hover, .close-button:focus {
  color: #000000;
}
.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button.medium, .close-button {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #000000;
  color: #ffffff;
}
.label.primary {
  background: #009fe3;
  color: #000000;
}
.label.secondary {
  background: #7a9899;
  color: #000000;
}
.label.success {
  background: #55aa00;
  color: #000000;
}
.label.warning {
  background: #ff8800;
  color: #000000;
}
.label.alert {
  background: #ff0000;
  color: #000000;
}

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

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: rgb(212.55, 242.2837004405, 255);
  color: #000000;
}
.callout.secondary {
  background-color: rgb(235.05, 239.55, 239.7);
  color: #000000;
}
.callout.success {
  background-color: rgb(229.5, 255, 204);
  color: #000000;
}
.callout.warning {
  background-color: rgb(255, 237.15, 216.75);
  color: #000000;
}
.callout.alert {
  background-color: rgb(255, 216.75, 216.75);
  color: #000000;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination::before, .pagination::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.pagination::after {
  clear: both;
}
.pagination li {
  margin-right: 0.0454545455rem;
  border-radius: 0;
  font-size: 0.6363636364rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 48em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1363636364rem 0.4545454545rem;
  border-radius: 0;
  color: #000000;
}
.pagination a:hover,
.pagination button:hover {
  background: #c8d6d6;
}
.pagination .current {
  padding: 0.1363636364rem 0.4545454545rem;
  background: #000000;
  color: #ffffff;
  cursor: default;
}
.pagination .disabled {
  padding: 0.1363636364rem 0.4545454545rem;
  color: #7a9899;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1363636364rem 0.4545454545rem;
  content: "…";
  color: #000000;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«";
}

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»";
}

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

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

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

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #c8d6d6;
  background: #ffffff;
  list-style-type: none;
}
.tabs::before, .tabs::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tabs::after {
  clear: both;
}

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

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

.tabs.primary {
  background: #009fe3;
}
.tabs.primary > li > a {
  color: #000000;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(0, 151.05, 215.65);
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.5454545455rem;
  line-height: 1;
  color: #000000;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a:hover {
  background: #ffffff;
  color: black;
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #c8d6d6;
  color: #000000;
}

.tabs-content {
  border: 1px solid #c8d6d6;
  border-top: 0;
  background: #ffffff;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

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

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

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

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

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

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #000000 transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

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

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

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

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

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

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          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%;
}
.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
  right: 1rem;
  left: auto;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  right: auto;
  left: 1rem;
}
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #000000 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu > li > a {
  padding: 0.7rem 1rem;
}
.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #009fe3;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
.dropdown.menu.vertical > li > a::after {
  right: 14px;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  right: auto;
  left: 5px;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
}
@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #000000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #000000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #000000;
  }
}
@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #000000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #000000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #000000;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

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

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.clearfix::before, .clearfix::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.clearfix::after {
  clear: both;
}

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

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

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

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

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

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

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

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

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

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

@media screen and (max-width: 47.99875em), screen and (min-width: 64em) {
  .show-for-medium-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;
  }
}

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

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !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;
  }
}

.show-for-dark-mode {
  display: none;
}

.hide-for-dark-mode {
  display: block;
}

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important;
  }
  .hide-for-dark-mode {
    display: none !important;
  }
}
.show-for-ie {
  display: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important;
  }
  .hide-for-ie {
    display: none !important;
  }
}
.show-for-sticky {
  display: none;
}

.is-stuck .show-for-sticky {
  display: block;
}

.is-stuck .hide-for-sticky {
  display: none;
}

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.fade-in.mui-enter.mui-enter-active {
  opacity: 1;
}

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.fade-out.mui-leave.mui-leave-active {
  opacity: 0;
}

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-bottom.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-x.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-y.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-out-from-top.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.hinge-out-from-bottom.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0;
}

.hinge-out-from-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0;
}

.hinge-out-from-middle-x.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-middle-y.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.scale-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0;
}

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0;
}

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0;
}

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0;
}

.slow {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important;
}

.fast {
  -webkit-transition-duration: 250ms !important;
          transition-duration: 250ms !important;
}

.linear {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.ease {
  -webkit-transition-timing-function: ease !important;
          transition-timing-function: ease !important;
}

.ease-in {
  -webkit-transition-timing-function: ease-in !important;
          transition-timing-function: ease-in !important;
}

.ease-out {
  -webkit-transition-timing-function: ease-out !important;
          transition-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-transition-delay: 300ms !important;
          transition-delay: 300ms !important;
}

.long-delay {
  -webkit-transition-delay: 700ms !important;
          transition-delay: 700ms !important;
}

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7;
}
@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}
@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn;
}
@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn;
}
@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}
@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg;
}
@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important;
}

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important;
}

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important;
}

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important;
}

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important;
}

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important;
}

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important;
}

@-webkit-keyframes scrollDownInfinite {
  0% {
    padding-top: 0;
  }
  50% {
    padding-top: 20px;
  }
  100% {
    padding-top: 0;
  }
}

@keyframes scrollDownInfinite {
  0% {
    padding-top: 0;
  }
  50% {
    padding-top: 20px;
  }
  100% {
    padding-top: 0;
  }
}
/*
 * zurb_foundation.scss - Contains all Drupal-specific SASS for this theme.
 *
 * @todo Split this into multiple folders/files.
*/
.region-highlighted:empty {
  display: none;
}

.toolbar-tray a {
  font-size: 13px;
}

.toolbar .toolbar-toggle-orientation .toolbar-icon {
  margin: 0;
}
.toolbar .toolbar-toggle-orientation .toolbar-icon:before {
  min-height: 0;
}

.top-bar-section ul li {
  padding-top: 0;
}
.top-bar-section ul li a.is-active {
  color: #ffffff;
}

.no-js .top-bar {
  display: none;
}

@media screen and (min-width: 40em) {
  .no-js .top-bar {
    display: block;
  }
  .no-js .title-bar {
    display: none;
  }
}
body.toolbar-fixed .sticky.is-stuck .top-bar {
  margin-top: 39px;
}

body.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .sticky.is-stuck .top-bar {
  margin-top: 78px;
}

body.toolbar-fixed .sticky.is-stuck.is-at-top {
  margin-top: 0 !important;
}

.top-bar .menu-item--collapsed,
.top-bar .menu-item--expanded {
  list-style: none;
}

.top-bar .search-block-form .form-item-keys,
.top-bar .search-block-form .form-actions {
  display: inline-block;
}

.dropbutton-wrapper {
  background-color: #008cba;
  margin: 0 0 1.25rem;
}
.dropbutton-wrapper .button {
  margin-bottom: 0;
  width: 100%;
  text-align: left;
}

.button:hover {
  background-color: #ffed00;
  color: #000000 !important;
}

.form-required:after {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.3em;
  content: "";
  vertical-align: super;
  background-image: url(../images/foundation/misc/required.svg);
  background-repeat: no-repeat;
  background-size: 6px 6px;
}

.node-preview-container {
  position: relative;
}
.node-preview-container .node-preview-backlink {
  margin-right: 1rem;
}
.node-preview-container select {
  width: auto;
}

#edit-comment-body-wrapper {
  margin: 0 0 0.625rem;
}

#toolbar-administration {
  display: none;
}
@media print, screen and (min-width: 64em) {
  #toolbar-administration {
    display: block !important;
  }
}

@media print, screen and (max-width: 63.99875em) {
  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
    margin-left: 0;
  }
  body.adminimal-admin-toolbar {
    margin-left: 0 !important;
    padding-top: 0 !important;
  }
}
.js-form-type-select label {
  display: none;
}

@font-face {
  font-family: "interpump";
  src: url("../fonts/interpump/interpump.eot?14286008");
  src: url("../fonts/interpump/interpump.eot?14286008#iefix") format("embedded-opentype"), url("../fonts/interpump/interpump.woff2?14286008") format("woff2"), url("../fonts/interpump/interpump.woff?14286008") format("woff"), url("../fonts/interpump/interpump.ttf?14286008") format("truetype"), url("../fonts/interpump/interpump.svg?14286008#interpump") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* IBM Plex Sans Regular */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Regular.ttf") format("truetype");
}
/* IBM Plex Sans Italic */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 400;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Italic.ttf") format("truetype");
}
/* IBM Plex Sans Medium*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Medium.ttf") format("truetype");
}
/* IBM Plex Sans Medium Italic*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 500;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-MediumItalic.ttf") format("truetype");
}
/* IBM Plex Sans Bold*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Bold.ttf") format("truetype");
}
[class^=icn-]:before, [class*=icn-]:before, .node-row-event .custom-right-wrapper .calendar-icon:before, .media-gallery .media-content a.media-expand:before, .media-gallery .media-content a.media-download:before, .views-element-container ul.pager__items li.pager__item.pager__item--next a:after, .views-element-container ul.pager__items li.pager__item.pager__item--previous a:after, .paragraph--type--slider .swiper-container .swiper-next:before, .paragraph--type--slider .swiper-container .swiper-prev:before, .block-tt-utilities.block-tt-map-block .listPanel li:after, .mm-menu .mm-panel .mm-btn_prev:before, header.pageHeader a.search-modal-button.open:before, header.pageHeader a.search-modal-button:before, .select2-container--default .select2-selection__arrow:before,
.select2-container--default .dropdown-wrapper:before, .custom-row-wrapper .custom-row .custom-icon:before, .scroll-down:after, a.link-email:before, a.link-external:before, a.link-download:before, a.pdf-icon:before {
  font-family: interpump;
  font-style: normal;
  font-weight: normal;
  speak: none;
  text-decoration: inherit;
  text-align: center;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icn-more-horiz:before {
  content: "\e800";
}

.icn-minimize:before {
  content: "\e801";
}

.icn-more:before {
  content: "\e802";
}

.icn-ticket:before {
  content: "\e803";
}

.icn-timer:before {
  content: "\e804";
}

.icn-external-link:before {
  content: "\e805";
}

.icn-search:before {
  content: "\e806";
}

.icn-expand:before {
  content: "\e807";
}

.icn-download:before {
  content: "\e808";
}

.icn-dropdown-outline:before {
  content: "\e809";
}

.icn-chevron-up:before {
  content: "\e80a";
}

.icn-close:before {
  content: "\e80b";
}

.icn-chevron-down:before {
  content: "\e80c";
}

.icn-arrow-forward:before {
  content: "\e80d";
}

.icn-arrow-dropdown:before {
  content: "\e80e";
}

.icn-audio:before {
  content: "\e80f";
}

.icn-arrow-left:before {
  content: "\e810";
}

.icn-pdf:before {
  content: "\e811";
}

.icn-arrow-back:before {
  content: "\e812";
}

.icn-arrow-right:before {
  content: "\e813";
}

.icn-attachment:before {
  content: "\e814";
}

.icn-mini-arrow-down:before {
  content: "\e816";
}

.icn-calendar:before {
  content: "\e83f";
}

html:not(.frontpage) {
  scroll-behavior: smooth;
}

:root {
  --swiper-theme-color: #46b384;
}

*:focus {
  outline: 0 none;
}

body {
  scroll-behavior: smooth;
}
body.noscroll {
  overflow: hidden !important;
}

.bgCover, .bgCoverAbs {
  position: relative;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.bgCover:before, .bgCoverAbs:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}

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

/* Elevations */
.elevation-base, .elevation-24, .elevation-16, .elevation-12, .elevation-09, .elevation-08, .elevation-06, .elevation-04, .elevation-03, .elevation-02, .elevation-01, .elevation-00 {
  border-radius: 20px;
  opacity: 1;
  background-color: rgb(255, 255, 255);
}

.elevation-00 {
  -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
}

.elevation-01 {
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
}

.elevation-02 {
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
}

.elevation-03 {
  -webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2);
}

.elevation-04 {
  -webkit-box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
}

.elevation-06 {
  -webkit-box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
}

.elevation-08 {
  -webkit-box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.2);
}

.elevation-09 {
  -webkit-box-shadow: 0px 9px 14px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 9px 14px rgba(0, 0, 0, 0.2);
}

.elevation-12 {
  -webkit-box-shadow: 0px 12px 18px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 12px 18px rgba(0, 0, 0, 0.2);
}

.elevation-16 {
  -webkit-box-shadow: 0px 16px 26px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 16px 26px rgba(0, 0, 0, 0.2);
}

.elevation-24 {
  -webkit-box-shadow: 0px 24px 40px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 24px 40px rgba(0, 0, 0, 0.2);
}

.underlined-text, .paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle, a.link-more, .paragraph--type--discover-more .card-content .card-link a, .paragraph--type--cards-3-columns .card-content .card-link a, .paragraph--type--cards .card-content .card-link a {
  position: relative;
  font-size: 0.5454545455rem;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 2rem;
  text-transform: uppercase;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.underlined-text:after, .paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle:after, a.link-more:after, .paragraph--type--discover-more .card-content .card-link a:after, .paragraph--type--cards-3-columns .card-content .card-link a:after, .paragraph--type--cards .card-content .card-link a:after {
  content: "";
  position: absolute;
  margin-top: 8px;
  top: 14px;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #009750;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

/** Links **/
a {
  color: #009750;
}
a:hover {
  color: #009750;
  text-decoration: underline;
}
a.link-download, a.link-external, a.link-email, a.link-icon {
  position: relative;
  color: #000000;
  letter-spacing: 3px !important;
  line-height: 24px;
  text-transform: uppercase;
  padding: 8px 8px 8px 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:before, a.link-external:before, a.link-email:before, a.link-icon:before {
  font-size: 24px;
  line-height: 1;
  margin-right: 8px;
  padding: 12px 9px 12px 12px;
  background-color: #009750;
  color: #ffffff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:hover, a.link-external:hover, a.link-email:hover, a.link-icon:hover {
  text-decoration: none;
}
a.link-download:hover:before, a.link-external:hover:before, a.link-email:hover:before, a.link-icon:hover:before {
  color: #000000;
  background-color: #ffed00;
}
a.link-download:hover:after, a.link-external:hover:after, a.link-email:hover:after, a.link-icon:hover:after {
  background-color: #ffed00;
}
a.link-download:after, a.link-external:after, a.link-email:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 47px;
  height: 1px;
  width: calc(100% - 47px);
  background-color: #009750;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:before, a.pdf-icon:before {
  content: "\e811";
}
a.link-external:before {
  content: "\e805";
  font-size: 0.8181818182rem;
}
a.link-email:before {
  content: "\e805";
  font-size: 0.8181818182rem;
}
a.link-more, .paragraph--type--discover-more .card-content .card-link a, .paragraph--type--cards-3-columns .card-content .card-link a, .paragraph--type--cards .card-content .card-link a {
  color: #000000;
}
a.link-more:hover, .paragraph--type--discover-more .card-content .card-link a:hover, .paragraph--type--cards-3-columns .card-content .card-link a:hover, .paragraph--type--cards .card-content .card-link a:hover {
  text-decoration: none;
}
a.link-more:hover:after, .paragraph--type--discover-more .card-content .card-link a:hover:after, .paragraph--type--cards-3-columns .card-content .card-link a:hover:after, .paragraph--type--cards .card-content .card-link a:hover:after {
  background-color: #ffed00;
}
a.link-button, .paragraph--type--vertical-cards .card-wrapper .card-content a {
  display: inline-block;
  border-radius: 24px;
  padding: 16px 56px;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-button:hover, .paragraph--type--vertical-cards .card-wrapper .card-content a:hover {
  color: #000000;
  background-color: #ffed00;
  text-decoration: none;
}
a.link-icon {
  margin: 0;
  padding: 0;
}
a.link-icon:before {
  margin: 0;
}

/* Separators */
.separator, .separator-bottom, .separator-bottom-small {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.separator-bottom:after, .separator-bottom-small:after {
  content: "";
  bottom: 0;
  height: 1px;
  background-color: #009750;
  margin-top: 14px;
}

.separator-bottom-small:after {
  width: 35px;
}

.video-wrapper .video-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(100vh - 100px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}
.video-wrapper .video-cover img {
  height: 350px;
}
.video-wrapper #video-home {
  position: relative;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #000;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  left: 0;
}
.video-wrapper .video-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 0;
}
.video-wrapper .video-text p {
  color: #ffffff;
  position: absolute;
  font-size: 68px;
  font-weight: 700;
  visibility: hidden;
}
.video-wrapper .video-text > p > div {
  z-index: 0;
}

.scroll-down {
  position: fixed;
  bottom: 100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.scroll-down:after {
  content: "\e816";
  font-size: 12px;
  color: #ffffff;
  margin-top: 20px;
  -webkit-animation: scrollDownInfinite 1.5s infinite;
          animation: scrollDownInfinite 1.5s infinite;
}
.scroll-down p {
  color: #ffffff;
  font-size: 0.9090909091rem;
  font-weight: 500;
}

.field--name-field-msg-c-body ul {
  list-style-type: none; /* Rimuove i cerchietti predefiniti */
  padding: 0; /* Rimuove il padding predefinito dell'elenco */
}
.field--name-field-msg-c-body ul li {
  margin-bottom: 5px;
  margin-left: 6px;
  position: relative;
}
.field--name-field-msg-c-body ul li::before {
  content: "";
  background: #009750;
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 9px;
  left: -24px;
  border-radius: 7px;
}

.basic-icon:before, .node-row-event .custom-right-wrapper .calendar-icon:before, .custom-row-wrapper .custom-row .custom-icon:before {
  color: #ffffff;
  font-size: 1rem;
  width: 40px;
  height: 40px;
  background-color: #009750;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.custom-row-wrapper {
  color: #000000;
  padding: 20px 0;
  display: block;
}
.custom-row-wrapper .custom-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.custom-row-wrapper .custom-row .custom-title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-title-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.custom-row-wrapper .custom-row .custom-icon {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.custom-row-wrapper .custom-row .custom-icon:before {
  content: "\e811";
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.custom-row-wrapper .custom-row .custom-title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: 10px;
}
.custom-row-wrapper .custom-row .custom-title span, .custom-row-wrapper .custom-row .custom-title .field--node-field-subtitle {
  font-weight: 700;
  text-transform: uppercase;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-title {
    padding-left: 30px;
    padding-right: 15px;
  }
}
.custom-row-wrapper .custom-row .custom-date {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-date {
    margin-bottom: 0;
  }
}
.custom-row-wrapper.audio .custom-row .custom-icon:before {
  content: "\e80f";
}
.custom-row-wrapper:hover {
  color: #000000;
}
.custom-row-wrapper:hover .custom-icon:before {
  color: #000000;
  background-color: #ffed00;
}
.custom-row-wrapper:hover .custom-title {
  text-decoration: underline;
}

form[data-bef-auto-submit] input[type=submit] {
  display: none !important;
}

.modal-minicard.fancybox-content {
  padding: 64px;
}
.modal-minicard.fancybox-content .fancybox-button {
  color: #ffffff;
  background-color: #009750;
}
.modal-minicard.fancybox-content .modal-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  padding-top: 40px;
}
.modal-minicard.fancybox-content .modal-link .media-link {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.text-to-icon {
  display: block;
  font-size: 0;
  width: 25px;
  height: 25px;
  margin: auto;
}
.text-to-icon.check {
  background-image: url(../images/check.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.text-check-icon {
  color: #009750;
  font-size: 0.6363636364rem;
  font-weight: 700;
}

.tabs {
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}
.tabs .tabs-title {
  margin: 0;
  float: none;
  border-bottom: 2px solid #ffffff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.tabs .tabs-title a {
  font-size: 0.8181818182rem;
  padding: 15px 10px;
  background: #ffffff;
}
.tabs .tabs-title a[aria-selected=true] {
  background: #ffffff;
}
.tabs .tabs-title a:hover {
  text-decoration: none;
}
.tabs .tabs-title.is-active, .tabs .tabs-title:hover {
  border-bottom: 2px solid #000000;
  background: transparent;
}

.tabs-panel {
  padding: 0;
}

.tabs-content {
  border: none;
}

.scroller-table {
  overflow-x: auto;
}

iframe {
  width: 1px;
  min-width: 100%;
  border: none;
  background: transparent;
}

.h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle,
.h-xl,
.h-l,
.paragraph--type--vertical-cards .card-wrapper .card-content .card-title,
.h-m,
.block-unsubscribe-block .block-title,
.block-subscribe-block .block-title,
.h-s,
.block-tt-utilities.block-header-banner-block h3.pageSubtitle,
.h-xs,
.view-search.search-page .views-row h2.node-title {
  font-weight: 500;
  opacity: 1;
  letter-spacing: 0px;
}

.body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center,
.body-m,
.view-search.search-page .views-row .field--search-api-excerpt,
.webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea,
.custom-row-wrapper .custom-row .custom-title,
.custom-row-wrapper .custom-row .custom-date,
.body-s,
.press-releases.press-releases-latest .press-release-date time,
.views-element-container ul.pager__items li.pager__item a,
.paragraph--type--quote .quote-content .quote-footer,
.body-xs,
.pageMetaHeader,
a.link-download,
a.link-external,
a.link-email,
a.link-icon {
  opacity: 1;
  font-weight: 400;
  letter-spacing: 0px;
}

/**
 * Sperimentale
 * Si possono sepcificare i tag hX e p o una classe custom.
 */
.font-white, footer.pageFooter p,
footer.pageFooter a {
  color: #ffffff;
}

.font-green {
  color: #009750;
}

#main.columns a,
#main.columns button {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.block-system-main-block a#main-content {
  display: none;
}
.block-system-main-block .table-scroller {
  overflow-x: auto;
}
.block-system-main-block table {
  width: 100%;
  border: none;
  margin-bottom: 24px;
}
.block-system-main-block table thead tr th {
  border: none;
  border-bottom: 1px solid #c8d6d6;
  font-size: 0.6363636364rem;
  padding: 10px 0;
}
.block-system-main-block table tbody tr td {
  border: none;
  border-bottom: 1px solid #c8d6d6;
  padding: 10px 0;
  text-align: center;
}
.block-system-main-block table tbody tr td:first-child {
  text-align: left;
}
.block-system-main-block table tbody tr td p {
  margin: 0;
}

.block-system-main-block .field-type-text-with-summary ul:not(.nostyle):not(.contextual-links),
.block-system-main-block .field-type-text-with-summary ol:not(.contextual-links),
.block-system-main-block .field-type-text-long ul:not(.nostyle):not(.contextual-links),
.block-system-main-block .field-type-text-long ol:not(.contextual-links) {
  margin-left: 0;
  padding: 0;
  list-style: none;
}
.block-system-main-block .field-type-text-with-summary ul:not(.nostyle):not(.contextual-links) > li,
.block-system-main-block .field-type-text-with-summary ol:not(.contextual-links) > li,
.block-system-main-block .field-type-text-long ul:not(.nostyle):not(.contextual-links) > li,
.block-system-main-block .field-type-text-long ol:not(.contextual-links) > li {
  position: relative;
  margin: 0 0 0px 0;
  padding: 0 0 0 24px;
}
.block-system-main-block .field-type-text-with-summary ol,
.block-system-main-block .field-type-text-long ol {
  list-style: none;
  counter-reset: olLi;
}
.block-system-main-block .field-type-text-with-summary ol > li,
.block-system-main-block .field-type-text-long ol > li {
  counter-increment: olLi;
}
.block-system-main-block .field-type-text-with-summary ol > li:before,
.block-system-main-block .field-type-text-long ol > li:before {
  content: counter(olLi);
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.7272727273rem;
  line-height: 1.0909090909rem;
}

.ctaBtn, #block-tt-foundation-formespostosearchsearch-block form input[type=submit], .view-search.search-page form input[type=submit] {
  display: inline-block;
  border-radius: 24px;
  padding: 16px 56px;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
}
.ctaBtn:hover, #block-tt-foundation-formespostosearchsearch-block form input[type=submit]:hover, .view-search.search-page form input[type=submit]:hover {
  background: #ffed00;
  color: #000000;
}

/**
 * Gestione configurazione elementi responsive
 **/
.h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2rem;
}

@media print, screen and (min-width: 48em) {
  .h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
    font-size: 2.7272727273rem;
    font-weight: 500;
    line-height: 2.9090909091rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
    font-size: 2.9090909091rem;
    font-weight: 500;
    line-height: 3.0909090909rem;
  }
}

.h-xl {
  font-size: 1.9090909091rem;
  font-weight: 500;
  line-height: 1.9090909091rem;
}

@media print, screen and (min-width: 48em) {
  .h-xl {
    font-size: 2.3636363636rem;
    font-weight: 500;
    line-height: 2.3636363636rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xl {
    font-size: 2.5454545455rem;
    font-weight: 500;
    line-height: 2.5454545455rem;
  }
}

.h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
  font-size: 1.8181818182rem;
  font-weight: 500;
  line-height: 2rem;
}

@media print, screen and (min-width: 48em) {
  .h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
    font-size: 2.1818181818rem;
    font-weight: 500;
    line-height: 2.5454545455rem;
  }
}

.h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
  font-size: 1.4545454545rem;
  font-weight: 500;
  line-height: 1.6363636364rem;
}

@media print, screen and (min-width: 48em) {
  .h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
    font-size: 1.6363636364rem;
    font-weight: 500;
    line-height: 1.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
    font-size: 1.8181818182rem;
    font-weight: 500;
    line-height: 2.0909090909rem;
  }
}

.h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
  font-size: 1.0909090909rem;
  font-weight: 500;
  line-height: 1.0909090909rem;
}

@media print, screen and (min-width: 48em) {
  .h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
    font-size: 1.2727272727rem;
    font-weight: 500;
    line-height: 1.4545454545rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
    font-size: 1.4545454545rem;
    font-weight: 500;
    line-height: 1.7272727273rem;
  }
}

.h-xs, .view-search.search-page .views-row h2.node-title {
  font-size: 0.9090909091rem;
  font-weight: 500;
  line-height: 1rem;
}

@media print, screen and (min-width: 48em) {
  .h-xs, .view-search.search-page .views-row h2.node-title {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.0909090909rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xs, .view-search.search-page .views-row h2.node-title {
    font-size: 1.0909090909rem;
    font-weight: 500;
    line-height: 1.3636363636rem;
  }
}

.body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
  font-size: 0.8181818182rem;
  font-weight: 400;
  line-height: 1.3636363636rem;
}

@media print, screen and (min-width: 48em) {
  .body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
    font-size: 0.9090909091rem;
    font-weight: 400;
    line-height: 1.3636363636rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3636363636rem;
  }
}

.body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date {
  font-size: 0.6363636364rem;
  font-weight: 400;
  line-height: 1rem;
}

@media print, screen and (min-width: 48em) {
  .body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
  .webform-submission-form input[type=email],
  .webform-submission-form input[type=date],
  .webform-submission-form input[type=number],
  .webform-submission-form input[type=password],
  .webform-submission-form input[type=tel],
  .webform-submission-form textarea,
  form.user-login-form input[type=text],
  form.user-login-form input[type=email],
  form.user-login-form input[type=date],
  form.user-login-form input[type=number],
  form.user-login-form input[type=password],
  form.user-login-form input[type=tel],
  form.user-login-form textarea,
  .subscribe-form input[type=text],
  .subscribe-form input[type=email],
  .subscribe-form input[type=date],
  .subscribe-form input[type=number],
  .subscribe-form input[type=password],
  .subscribe-form input[type=tel],
  .subscribe-form textarea,
  .unsubscribe-form input[type=text],
  .unsubscribe-form input[type=email],
  .unsubscribe-form input[type=date],
  .unsubscribe-form input[type=number],
  .unsubscribe-form input[type=password],
  .unsubscribe-form input[type=tel],
  .unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date {
    font-size: 0.7272727273rem;
    font-weight: 400;
    line-height: 1.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
  .webform-submission-form input[type=email],
  .webform-submission-form input[type=date],
  .webform-submission-form input[type=number],
  .webform-submission-form input[type=password],
  .webform-submission-form input[type=tel],
  .webform-submission-form textarea,
  form.user-login-form input[type=text],
  form.user-login-form input[type=email],
  form.user-login-form input[type=date],
  form.user-login-form input[type=number],
  form.user-login-form input[type=password],
  form.user-login-form input[type=tel],
  form.user-login-form textarea,
  .subscribe-form input[type=text],
  .subscribe-form input[type=email],
  .subscribe-form input[type=date],
  .subscribe-form input[type=number],
  .subscribe-form input[type=password],
  .subscribe-form input[type=tel],
  .subscribe-form textarea,
  .unsubscribe-form input[type=text],
  .unsubscribe-form input[type=email],
  .unsubscribe-form input[type=date],
  .unsubscribe-form input[type=number],
  .unsubscribe-form input[type=password],
  .unsubscribe-form input[type=tel],
  .unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date {
    font-size: 0.8181818182rem;
    font-weight: 400;
    line-height: 1.1818181818rem;
  }
}

.body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
  font-size: 0.5454545455rem;
  font-weight: 400;
  line-height: 0.6363636364rem;
}

@media print, screen and (min-width: 48em) {
  .body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
    font-size: 0.6363636364rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

.body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
  font-size: 0.5454545455rem;
  font-weight: 400;
  line-height: 0.8181818182rem;
}

@media print, screen and (min-width: 48em) {
  .body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

/**
 * Gestione hamburger menu
 * Libreria di riferimento: https://github.com/kapoko/delicious-hamburgers
 * Demo stili: https://kapoko.github.io/delicious-hamburgers/
 * Installata tramite npm
 */
/*!
 * delicious-hamburgers
 * @description Beautiful SASS powered hamburger menu toggle buttons
 * @author Kasper Koman
 * @link https://github.com/kapoko/delicious-hamburgers
 */
button.hamburger {
  height: 40px;
  width: 40px;
}

div.hamburger {
  height: 40px;
  width: 40px;
}
div.hamburger > .inner {
  top: 50%;
}

.hamburger {
  background-color: transparent;
  border: 0 transparent solid;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  opacity: 1;
  overflow: visible;
  padding: 4px;
  text-transform: none;
  -webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger:hover {
  background-color: transparent;
  opacity: 1;
}
.hamburger:hover span.bar {
  background-color: #009750;
}
.hamburger:hover > .inner:nth-child(1)::before, .hamburger:hover > .inner:nth-child(1)::after, .hamburger:hover > .inner:nth-child(2)::before, .hamburger:hover > .inner:nth-child(2)::after, .hamburger:hover > .inner:nth-child(3)::before, .hamburger:hover > .inner:nth-child(3)::after,
.hamburger:hover span.bar:nth-child(1)::before,
.hamburger:hover span.bar:nth-child(1)::after,
.hamburger:hover span.bar:nth-child(2)::before,
.hamburger:hover span.bar:nth-child(2)::after,
.hamburger:hover span.bar:nth-child(3)::before,
.hamburger:hover span.bar:nth-child(3)::after {
  background-color: #009750;
}
.hamburger.active {
  background-color: transparent;
}
.hamburger.active span.bar {
  background-color: #009750;
}
.hamburger.active > .inner:nth-child(1)::before, .hamburger.active > .inner:nth-child(1)::after, .hamburger.active > .inner:nth-child(2)::before, .hamburger.active > .inner:nth-child(2)::after, .hamburger.active > .inner:nth-child(3)::before, .hamburger.active > .inner:nth-child(3)::after,
.hamburger.active span.bar:nth-child(1)::before,
.hamburger.active span.bar:nth-child(1)::after,
.hamburger.active span.bar:nth-child(2)::before,
.hamburger.active span.bar:nth-child(2)::after,
.hamburger.active span.bar:nth-child(3)::before,
.hamburger.active span.bar:nth-child(3)::after {
  background-color: #009750;
}
.hamburger > .inner {
  margin: 0;
  margin-top: -1px;
  position: relative;
  width: 100%;
}
.hamburger span.bar {
  background-color: #009750;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
}
.hamburger span.bar:nth-child(1) {
  top: -8px;
}
.hamburger span.bar:nth-child(3) {
  top: 8px;
}
.hamburger:focus {
  outline: 0;
}

.hamburger--default.active span.bar {
  top: 0;
}
.hamburger--default.active span.bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger--default.active span.bar:nth-child(2) {
  display: none;
}
.hamburger--default.active span.bar:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.hamburger--criss-cross > .inner::before, .hamburger--criss-cross > .inner::after {
  background-color: #009750;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
  opacity: 0;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  -webkit-transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross > .inner::before {
  -webkit-transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0) scaleX(0);
          transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0) scaleX(0);
}
.hamburger--criss-cross > .inner::after {
  -webkit-transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0) scaleX(0);
          transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0) scaleX(0);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.hamburger--criss-cross span.bar {
  -webkit-transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross span.bar:nth-child(1) {
  -webkit-transition-delay: 0.33s;
          transition-delay: 0.33s;
}
.hamburger--criss-cross span.bar:nth-child(2) {
  -webkit-transition-delay: 0.36s;
          transition-delay: 0.36s;
}
.hamburger--criss-cross span.bar:nth-child(3) {
  -webkit-transition-delay: 0.39s;
          transition-delay: 0.39s;
}
.hamburger--criss-cross.active > .inner::before, .hamburger--criss-cross.active > .inner::after {
  opacity: 1;
}
.hamburger--criss-cross.active > .inner::before {
  -webkit-transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0);
          transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0);
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.hamburger--criss-cross.active > .inner::after {
  -webkit-transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0);
          transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.hamburger--criss-cross.active span.bar {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
          transform: translate3d(-10px, 0, 0);
  width: 50%;
}
.hamburger--criss-cross.active span.bar:nth-child(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.hamburger--criss-cross.active span.bar:nth-child(2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.hamburger--criss-cross.active span.bar:nth-child(3) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

/*
@import "animations/apple";
@import "animations/arrow";
@import "animations/arrow-right";
@import "animations/spin";
@import "animations/collapse";
@import "animations/minimal";
@import "animations/dive";
@import "animations/stack";
@import "animations/converge";
@import "animations/twist";
@import "animations/magnetic";
@import "animations/chop";
@import "animations/parallel";
@import "animations/vertical";
@import "animations/push";
@import "animations/flatten";
@import "animations/simple";
@import "animations/shelf";*/
/**
 * Gestione outdated browser
 * Libreria di riferimento: https://github.com/mikemaccana/outdated-browser-rework
 * Demo: https://mikemaccana.github.io/outdated-browser-rework/
 */
#outdated {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 24px 24px 0;
  z-index: 1500;
  overflow: hidden;
  background-color: #000000 !important;
  color: #ffffff !important;
  text-align: center;
  text-transform: uppercase;
}
#outdated .vertical-center {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
#outdated h6 {
  margin: 12px 0;
  font-size: 1.0909090909rem;
  line-height: 1.0909090909rem;
}
#outdated p {
  margin: 0;
  font-size: 0.5454545455rem;
  line-height: 0.5454545455rem;
}
#outdated #buttonUpdateBrowser {
  display: block;
  position: relative;
  width: 230px;
  margin: 30px auto 0;
  padding: 10px 20px;
  border: 2px solid #ffffff !important;
  background: transparent !important;
  cursor: pointer;
  color: #ffffff !important;
  text-decoration: none;
}
#outdated #buttonUpdateBrowser:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}
#outdated .last {
  position: absolute;
  top: 10px;
  right: 70px;
  width: auto;
  height: 20px;
  display: inline-table;
}
#outdated .last[dir=rtl] {
  left: 25px !important;
  right: auto !important;
}
#outdated #buttonCloseUpdateBrowser {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  font-size: 1.6363636364rem;
  line-height: 1.6363636364rem;
  color: #ffffff;
  text-decoration: none;
}

#outdated.fullscreen {
  height: 100%;
}

/**
 * Gestione Fancybox
 * Libreria di riferimento: https://github.com/fancyapps/fancybox
 * Documentazione: https://obu.edu/_resources/ldp/galleries/fancybox/
 *                 https://web.archive.org/web/20210325170940/https://fancyapps.com/fancybox/3/docs/
 */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

ul.slick-dots {
  position: relative;
  bottom: auto;
  font-size: 0;
}
ul.slick-dots li {
  display: inline-block;
  width: 48px;
  height: 7px;
  margin: 0 7px;
}
ul.slick-dots li:only-child {
  display: none;
}
ul.slick-dots li .btnPager {
  width: 48px;
  height: 7px;
  padding: 0;
}
ul.slick-dots li .btnPager:before {
  content: "";
  width: 100%;
  height: 4px;
  margin-top: 3px;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
ul.slick-dots li.slick-active .btnPager:before {
  height: 7px;
  margin-top: 0;
  background: #000000;
}

.slick-arrow {
  width: 60px;
  height: 60px;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 2;
  text-align: center;
  color: #ffffff !important;
}
.slick-arrow:hover {
  background: #000000;
}
.slick-arrow:before {
  display: none !important;
}
.slick-arrow span {
  display: inline-block;
}
.slick-arrow span:before {
  font-size: 16px;
  line-height: 60px;
}

.slick-arrow.slick-next span {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.select2-container {
  width: auto !important;
  min-width: 230px;
  font-size: 0.6363636364rem;
}
.select2-container * {
  outline: 0;
}

.select2-container--default .select2-selection--single {
  position: relative;
  z-index: 1;
  height: auto;
  padding: 20px 80px 20px 20px;
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
  opacity: 1;
  background-color: rgb(255, 255, 255);
  border-radius: 0;
  border: 0;
}
.select2-container--default span.select2-selection__rendered {
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 0.8181818182rem;
  font-weight: 700;
  line-height: 1.1818181818rem;
  color: #000000;
  letter-spacing: 0 !important;
}
.select2-container--default .select2-selection--multiple {
  padding: 5px 30px 10px 10px;
  border: 1px solid #000000 !important;
  background: transparent;
  font-size: 0;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline {
  margin: 5px 5px 0 0 !important;
  padding: 5px 10px !important;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline::before {
  display: none !important;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline input {
  height: auto;
  margin-top: 0;
  font-size: 0.5454545455rem;
  line-height: 0.7272727273rem;
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice {
  margin: 5px 5px 0 0 !important;
  padding: 5px 10px !important;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  font-size: 0.8181818182rem;
  line-height: 1.1818181818rem;
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice span.select2-selection__choice__remove {
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice span.select2-selection__choice__remove:hover {
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice:before {
  display: none !important;
}
.select2-container--default .select2-selection__arrow,
.select2-container--default .dropdown-wrapper {
  position: absolute;
  top: 50% !important;
  right: 18px !important;
  width: auto !important;
  height: 20px !important;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  text-align: center;
}
.select2-container--default .select2-selection__arrow b,
.select2-container--default .dropdown-wrapper b {
  display: none;
}
.select2-container--default .select2-selection__arrow:before,
.select2-container--default .dropdown-wrapper:before {
  content: "\e809";
  position: relative !important;
  font-size: 10px !important;
  line-height: 20px !important;
  color: #000000;
}
.select2-container--default.select2-container--open .select2-selection__rendered {
  color: #000000 !important;
}
.select2-container--default.select2-container--open .select2-selection__arrow:before,
.select2-container--default.select2-container--open .dropdown-wrapper:before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.select2-dropdown {
  background: #ffffff;
  border: none;
  margin-top: 0;
  padding: 0;
}
.select2-dropdown .select2-results__options {
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
  opacity: 1;
  background-color: rgb(255, 255, 255);
  padding-bottom: 10px;
}
.select2-dropdown .select2-results__options .select2-results__option {
  background: transparent !important;
  font-size: 0.8181818182rem;
  line-height: 1.1818181818rem;
  color: #000000;
  padding: 6px 20px;
}
.select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted {
  color: #000000;
}
.select2-dropdown .select2-results__options .select2-results__option[aria-selected=true] {
  color: #000000;
}
.select2-dropdown .select2-results__options.select2-dropdown--above {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-dropdown .select2-results__options.select2-dropdown--below {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.iub_container ul li:before {
  display: none;
}

.pageMetaHeader {
  background-color: #46b384;
  color: #ffffff;
}
.pageMetaHeader .metaHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
}
.pageMetaHeader .metaHeader .metaHeader-left {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.pageMetaHeader .metaHeader .metaHeader-left .stock-expert {
  height: 42px;
  width: 180px;
  overflow: hidden;
  min-width: auto;
}
.pageMetaHeader .metaHeader .metaHeader-left .stock-expert html {
  overflow: hidden;
}
.pageMetaHeader .metaHeader .metaHeader-right {
  text-align: right;
}
.pageMetaHeader .metaHeader ul.menu li a {
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
}

header.pageHeader {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 75px;
  background: #ffffff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1;
  font-size: 0;
}
header.pageHeader.dropdown-open .headerMain {
  background: #ffffff !important;
}
header.pageHeader.dropdown-open .headerMain .menu.dropdown > li:not(.active-trail) > a:not(:hover),
header.pageHeader.dropdown-open .headerMain .search-modal-button:not(:hover),
header.pageHeader.dropdown-open .headerMain .language-link:not(:hover) {
  color: #000000 !important;
}
header.pageHeader.dropdown-open .headerMain a.logo svg #text {
  fill: #000000 !important;
}
header.pageHeader .grid-container {
  position: initial;
}
header.pageHeader.headroom--top {
  height: 140px;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
header.pageHeader.headroom--not-top {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
header.pageHeader .headerMainGrid {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 100px;
}
header.pageHeader .headerMainGrid .headerMainRight {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
header.pageHeader .headerMainGrid .headerMainRight .contextual-region {
  position: initial;
}
header.pageHeader a.logo {
  display: inline-block;
  vertical-align: top;
}
header.pageHeader a.logo svg {
  display: inline-block;
  height: 70px;
  vertical-align: top;
  max-width: 100%;
}
header.pageHeader a.logo svg * {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header.pageHeader .block-tt-foundation-main-menu {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
header.pageHeader .block-tt-foundation-formespostosearchsearch-block * {
  display: none;
}
header.pageHeader a.search-modal-button {
  color: #000000;
}
header.pageHeader a.search-modal-button:before {
  content: "\e806";
  display: block;
  font-size: 22px;
}
header.pageHeader a.search-modal-button.open:before {
  content: "\e80b";
}
header.pageHeader a.search-modal-button:hover {
  text-decoration: none;
  color: #009750;
}
@media print, screen and (min-width: 64em) {
  .toolbar-vertical header.pageHeader.headroom--top {
    top: 39px;
  }
  .mm-opening .toolbar-vertical header.pageHeader.headroom--top {
    top: 0;
  }
  .toolbar-fixed header.pageHeader, .toolbar-horizontal header.pageHeader, .toolbar-tray-open header.pageHeader {
    top: 39px;
  }
  .toolbar-horizontal.toolbar-tray-open header.pageHeader {
    top: 83px;
  }
  .toolbar-fixed header.pageHeader.headroom--not-top, .toolbar-horizontal header.pageHeader.headroom--not-top, .toolbar-tray-open header.pageHeader.headroom--not-top {
    top: 39px;
  }
  .toolbar-horizontal.toolbar-tray-open header.pageHeader.headroom--not-top {
    top: 83px;
  }
}

/*
 * Stili comuni per comportamento aperto e scroll
 */
header.pageHeader.headroom--not-top.slideUp .pageMetaHeader,
header.pageHeader.headroom--not-top.slideDown .pageMetaHeader,
header.headroom--not-top .pageMetaHeader {
  visibility: hidden;
  height: 0;
}
header.pageHeader.headroom--not-top.slideUp .headerMainGrid,
header.pageHeader.headroom--not-top.slideDown .headerMainGrid,
header.headroom--not-top .headerMainGrid {
  height: 75px;
}
header.pageHeader.headroom--not-top.slideUp a.logo svg,
header.pageHeader.headroom--not-top.slideDown a.logo svg,
header.headroom--not-top a.logo svg {
  height: 55px;
}

/**
 * Headroom - menu non attaccato in pagina ma scroll down
 * - Nascondo la barra in alto dei follow
 * - Riduco la dimensione del logo e lo spazio
 */
header.pageHeader.headroom--not-top.slideUp {
  -webkit-transform: translateY(-140px);
          transform: translateY(-140px);
}

/**
 * Headroom - menu non attaccato in pagina ma scroll up
 */
header.pageHeader.headroom--not-top {
  background-color: #ffffff;
  color: #000000 !important;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
header.pageHeader.headroom--not-top a:not([role=menuitem]):not(:hover) {
  color: #000000 !important;
}
header.pageHeader.headroom--not-top .main-menu ul.dropdown li.opens-right > .is-dropdown-submenu {
  top: 75px;
}

.hamburger {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
@media print, screen and (min-width: 64em) {
  .hamburger {
    display: none;
  }
}

html.mm-wrapper_opening header.pageHeader {
  -webkit-box-shadow: none;
          box-shadow: none;
}
html.mm-wrapper_opening header.pageHeader .headerMain {
  background-color: #ffffff;
  color: #000000 !important;
}
html.mm-wrapper_opening header.pageHeader .headerMain a:not([role=menuitem]):not(:hover) {
  color: #000000 !important;
}
html.mm-wrapper_opening header.pageHeader .headerMain a.logo svg #text {
  fill: #000000 !important;
}

body.stopOverflow {
  overflow: hidden;
}

body.stopOverflowX {
  overflow-x: hidden;
}

body.stopOverflowY {
  overflow-y: hidden;
}

body #main.pageMain {
  position: relative;
  margin-top: 140px;
  overflow: hidden;
}

body.noTopSpace #main.pageMain {
  margin-top: 0;
}

#mobile-menu {
  visibility: hidden;
  height: 0;
}
#mobile-menu.mm-menu {
  visibility: visible;
  height: auto;
}

.mm-menu.mm-menu_fullscreen {
  margin-top: 140px;
}
.mm-menu .mm-panel {
  background: #ffffff;
}
.mm-menu .mm-panel .mm-btn_prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mm-menu .mm-panel .mm-btn_prev:before {
  content: "\e812";
  position: initial;
  -webkit-transform: none;
          transform: none;
  border: 0;
  color: #ffffff;
  width: auto;
  height: auto;
}
.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited {
  font-weight: 700;
  font-size: 0.9090909091rem;
  line-height: 1.1818181818rem;
  color: #4c4c4e;
  text-transform: uppercase;
}
.mm-menu a.Selected,
.mm-menu a:active.Selected,
.mm-menu a:hover.Selected,
.mm-menu a:link.Selected,
.mm-menu a:visited.Selected {
  color: #009750;
}
.mm-menu .mm-listitem {
  border-color: #4c4c4e;
}
.mm-menu .mm-listitem__btn:not(.mm-listitem__text) {
  border: none;
  position: absolute;
  height: 100%;
  width: 100%;
}
.mm-menu .mm-listitem__text {
  padding-top: 25px;
  padding-bottom: 25px;
}
.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before {
  border-color: #009750;
}
.mm-menu .mm-navbar {
  height: 50px;
  background: #009750;
  border-color: #c8d6d6;
}
.mm-menu .mm-navbar .mm-navbar__title {
  padding: 10px 0 !important;
  font-weight: 700;
  font-size: 1.0909090909rem;
  line-height: 1.3636363636rem;
  color: #ffffff;
  text-transform: uppercase;
}
.mm-menu #mm-1 .mm-navbar {
  display: none;
}
.mm-menu .mm-panel_has-navbar {
  padding-top: 50px;
}
.mm-menu .mm-navbars_bottom {
  border-color: black;
}
@media print, screen and (max-width: 47.99875em) {
  .mm-menu a,
  .mm-menu a:active,
  .mm-menu a:hover,
  .mm-menu a:link,
  .mm-menu a:visited {
    font-size: 0.7272727273rem;
    line-height: 0.8181818182rem;
  }
  .mm-menu .mm-listitem__text {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .mm-menu .mm-navbar .mm-navbar__title {
    font-size: 0.9090909091rem;
    line-height: 1.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .mm-page.mm-slideout {
    z-index: auto !important;
  }
}
body.headroom-pinned .mm-menu.mm-menu_fullscreen {
  margin-top: 140px;
}

body.headroom-not-top.headroom-pinned .mm-menu.mm-menu_fullscreen,
body.headroom-not-top .mm-menu.mm-menu_fullscreen {
  margin-top: 75px;
}

footer.pageFooter {
  position: relative;
  width: 100%;
  background-color: #46b384;
  padding: 75px 0 66px 0;
}
footer.pageFooter p,
footer.pageFooter a {
  font-size: 0.7272727273rem;
  font-style: normal;
  letter-spacing: 0px;
  line-height: 1.0909090909rem;
  margin-bottom: 0;
}
footer.pageFooter .footerMidLeftArea .body .cell {
  margin-left: 0;
  margin-right: 0;
}
footer.pageFooter .footerMidRightArea {
  margin: 0;
}
@media print, screen and (min-width: 64em) {
  footer.pageFooter .footerMidRightArea {
    margin: auto;
  }
}
@media print, screen and (max-width: 47.99875em) {
  footer.pageFooter {
    padding: 40px 0 66px 0;
  }
  footer.pageFooter p, footer.pageFooter a {
    font-size: 0.6363636364rem;
    line-height: 0.8181818182rem;
  }
  footer.pageFooter .cellLogo {
    margin-bottom: 30px;
  }
  footer.pageFooter .cellLogo .logo svg {
    height: 80px;
  }
  footer.pageFooter .menu {
    margin-top: 20px;
  }
}

/**
 * Generazione classi ad hoc per spaziature top e bottom, a differenza
 *  della soluzione precedente questa genera margin E padding per ogni spaziatura.
 *
 * Le classi sono nella forma "item-space-top-0"
 *
 * item-space-<position>-<id>
 *
 * Variante:
 * - con background sia margin che padding (item-space-<position>-<id>-bg)
 * - senza background solo margin (item-space-<position>-<id>)
 *

 **/
.item-space-top-0 {
  margin-top: 0px !important;
}

.item-space-bottom-0 {
  margin-bottom: 0px !important;
}

.item-space-top-0-bg {
  margin-top: 0px !important;
  padding-top: 0px !important;
}

.item-space-bottom-0-bg {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

.item-space-top-1 {
  margin-top: 10px !important;
}

.item-space-bottom-1 {
  margin-bottom: 10px !important;
}

.item-space-top-1-bg {
  margin-top: 10px !important;
  padding-top: 10px !important;
}

.item-space-bottom-1-bg {
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
}

.item-space-top-2 {
  margin-top: 20px !important;
}

.item-space-bottom-2 {
  margin-bottom: 20px !important;
}

.item-space-top-2-bg {
  margin-top: 20px !important;
  padding-top: 20px !important;
}

.item-space-bottom-2-bg {
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
}

.item-space-top-3 {
  margin-top: 40px !important;
}

.item-space-bottom-3 {
  margin-bottom: 40px !important;
}

.item-space-top-3-bg {
  margin-top: 40px !important;
  padding-top: 40px !important;
}

.item-space-bottom-3-bg {
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
}

@media print, screen and (min-width: 48em) {
  .item-space-top-0 {
    margin-top: 0px !important;
  }
  .item-space-bottom-0 {
    margin-bottom: 0px !important;
  }
  .item-space-top-0-bg {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }
  .item-space-bottom-0-bg {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-1 {
    margin-top: 20px !important;
  }
  .item-space-bottom-1 {
    margin-bottom: 20px !important;
  }
  .item-space-top-1-bg {
    margin-top: 20px !important;
    padding-top: 20px !important;
  }
  .item-space-bottom-1-bg {
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-2 {
    margin-top: 40px !important;
  }
  .item-space-bottom-2 {
    margin-bottom: 40px !important;
  }
  .item-space-top-2-bg {
    margin-top: 40px !important;
    padding-top: 40px !important;
  }
  .item-space-bottom-2-bg {
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-3 {
    margin-top: 80px !important;
  }
  .item-space-bottom-3 {
    margin-bottom: 80px !important;
  }
  .item-space-top-3-bg {
    margin-top: 80px !important;
    padding-top: 80px !important;
  }
  .item-space-bottom-3-bg {
    margin-bottom: 80px !important;
    padding-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-0 {
    margin-top: 0px !important;
  }
  .item-space-bottom-0 {
    margin-bottom: 0px !important;
  }
  .item-space-top-0-bg {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }
  .item-space-bottom-0-bg {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-1 {
    margin-top: 40px !important;
  }
  .item-space-bottom-1 {
    margin-bottom: 40px !important;
  }
  .item-space-top-1-bg {
    margin-top: 40px !important;
    padding-top: 40px !important;
  }
  .item-space-bottom-1-bg {
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-2 {
    margin-top: 80px !important;
  }
  .item-space-bottom-2 {
    margin-bottom: 80px !important;
  }
  .item-space-top-2-bg {
    margin-top: 80px !important;
    padding-top: 80px !important;
  }
  .item-space-bottom-2-bg {
    margin-bottom: 80px !important;
    padding-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-3 {
    margin-top: 120px !important;
  }
  .item-space-bottom-3 {
    margin-bottom: 120px !important;
  }
  .item-space-top-3-bg {
    margin-top: 120px !important;
    padding-top: 120px !important;
  }
  .item-space-bottom-3-bg {
    margin-bottom: 120px !important;
    padding-bottom: 120px !important;
  }
}
/**
 * Blocchi Drupal Basic block
 * Gestiti da /admin/structure/block/block-content
 */
.block-tt-foundation-piedipagina ul.menu {
  display: block;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
.block-tt-foundation-piedipagina ul.menu li a {
  padding: 8px 0;
}
@media print, screen and (min-width: 64em) {
  .block-tt-foundation-piedipagina ul.menu {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
}

/**
 * Breadcrumbs
 * Blocco di sistema
 */
.block-system.block-breadcrumb {
  position: relative;
  margin-bottom: 20px;
}
.block-system.block-breadcrumb ul.breadcrumbs {
  margin: 0;
}
.block-system.block-breadcrumb ul.breadcrumbs li, .block-system.block-breadcrumb ul.breadcrumbs a, .block-system.block-breadcrumb ul.breadcrumbs span {
  font-size: 0.5454545455rem;
  line-height: 0.6363636364rem;
}
.block-system.block-breadcrumb ul.breadcrumbs li:not(:last-child):after {
  content: ">";
  color: #000000;
}
.block-system.block-breadcrumb ul.breadcrumbs a:hover {
  color: #000000;
  text-decoration: none;
}

/**
 * Header banner custom
 * Generato da tt_utilities/Plugin/Block/HeaderBannerBlock
 * Stampato in tt_utilities/templates/header-banner-block.html.twig
 */
.block-tt-utilities.block-header-banner-block {
  width: 100%;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper {
  position: relative;
}
.block-tt-utilities.block-header-banner-block .gridBanner {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 30px;
  z-index: 1;
}
.block-tt-utilities.block-header-banner-block .bannerCell {
  min-height: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 40px;
}
.block-tt-utilities.block-header-banner-block .bgCoverAbs:before {
  background: rgba(0, 0, 0, 0.3);
}
.block-tt-utilities.block-header-banner-block h1.pageTitle {
  position: relative;
  margin: 16px 0;
  color: #ffffff;
  text-align: center;
}
.block-tt-utilities.block-header-banner-block h3.pageSubtitle {
  position: relative;
  color: #ffffff;
  text-align: center;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault .bgCoverAbs:before {
  background: transparent;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault h1.pageTitle,
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault h3.pageSubtitle {
  color: #000000;
}
.block-tt-utilities.block-header-banner-block .hbHeaderType-none .gridBanner {
  display: none !important;
}
body.headerBigger .block-tt-utilities.block-header-banner-block .hbMainWrapper {
  padding-bottom: 200px;
}

/**
 * Blocco del cambio lingua
*/
.block-language {
  margin-left: 25px;
  margin: 0 20px;
}
.block-language ul.links {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.block-language ul.links li {
  display: list-item;
}
.block-language ul.links li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  margin: 0;
  font-size: 0.8181818182rem;
  font-weight: 700;
  color: #000000;
  text-transform: uppercase;
  line-height: 18px;
}
.block-language ul.links li a:hover {
  text-decoration: none;
  color: #009750;
}

.block-tt-utilities.block-tt-map-block {
  position: relative;
}
.block-tt-utilities.block-tt-map-block .cellMap,
.block-tt-utilities.block-tt-map-block .cellSide {
  position: relative;
  overflow: hidden;
}
.block-tt-utilities.block-tt-map-block .listSidebar {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.block-tt-utilities.block-tt-map-block .listPanel {
  height: 100%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 0.35s ease-in-out, z-index 0.3s linear;
  transition: all 0.35s ease-in-out, z-index 0.3s linear;
  -webkit-transition-delay: 0s, 0.2s;
          transition-delay: 0s, 0.2s;
}
.block-tt-utilities.block-tt-map-block .listPanel.off {
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
}
.block-tt-utilities.block-tt-map-block .listPanel ul {
  display: block;
  width: 100%;
  margin: 0;
}
.block-tt-utilities.block-tt-map-block .listPanel li {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 0 15px 0;
  padding: 0 60px 0 40px;
  list-style: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .listPanel li:after {
  content: "\e80d";
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 16px;
  line-height: 16px;
}
.block-tt-utilities.block-tt-map-block .listPanel li:hover:after {
  right: 20px;
}
.block-tt-utilities.block-tt-map-block .detailsPanel {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: all 0.35s ease-in-out, z-index 0.3s linear;
  transition: all 0.35s ease-in-out, z-index 0.3s linear;
  -webkit-transition-delay: 0s, 0.2s;
          transition-delay: 0s, 0.2s;
}
.block-tt-utilities.block-tt-map-block .detailsPanel.open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack {
  display: block;
  width: 100%;
  height: 40px;
  margin-bottom: 20px;
  opacity: 1;
  background-color: rgb(244, 244, 244);
  padding: 0 40px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #46b384;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack span {
  display: inline-block;
  vertical-align: top;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack span:before {
  font-size: 22px;
  line-height: 40px;
  color: #000000;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack:hover {
  color: #009750;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelWrap {
  display: block;
  width: 100%;
  height: calc(100% - 60px);
  overflow-y: auto;
  padding-left: 40px;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanel {
  display: none;
  width: 100%;
}
.block-tt-utilities.block-tt-map-block .detailsPanel p.country-title {
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 5px solid #009750;
  font-weight: 500;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .countyDesc p {
  margin-bottom: 20px;
  font-weight: 300;
  font-size: 0.7272727273rem;
  line-height: 1.2727272727rem;
  color: #000000;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .countyDesc p:last-of-type {
  margin-bottom: 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li {
  position: relative;
  display: block;
  width: 100%;
  margin: 7px 0;
  padding: 7px 0;
  list-style: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:before, .block-tt-utilities.block-tt-map-block .detailsPanel li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:before {
  width: 100%;
  background: #4c4c4e;
  z-index: 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:after {
  width: 0;
  background: #4c4c4e;
  z-index: 1;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:hover {
  color: #7a9899;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:hover:after {
  width: 100%;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList {
  display: block;
  width: 100%;
  margin: 30px 0 0 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1ps solid #4c4c4e;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList li span {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: 700;
}
.block-tt-utilities.block-tt-map-block #worldMap {
  position: relative;
  width: 100%;
  height: 600px;
}
@media print, screen and (min-width: 48em) and (max-width: 63.99875em) {
  .block-tt-utilities.block-tt-map-block .listPanel li {
    margin: 0 0 10px 0;
    font-size: 1rem;
    line-height: 1.3636363636rem;
  }
  .block-tt-utilities.block-tt-map-block .listPanel li:after {
    right: 20px;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel .detPanel {
    padding: 0 20px;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel h4 {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.3636363636rem;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList {
    margin: 20px 0 0 0;
  }
  .block-tt-utilities.block-tt-map-block #worldMap {
    height: 600px;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .block-tt-utilities.block-tt-map-block #worldMap {
    height: 400px;
  }
}

.block-subscribe-block .block-title {
  text-align: center;
}

.block-unsubscribe-block .block-title {
  text-align: center;
}

/**
 * Regole generiche per form e webform
 * Definizioni valide per tutti
 */
::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #000000 !important;
  opacity: 1 !important;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #000000 !important;
  opacity: 1 !important;
}

.webform-submission-form,
form.user-login-form,
.subscribe-form,
.unsubscribe-form {
  position: relative;
}
.webform-submission-form .js-form-item,
form.user-login-form .js-form-item,
.subscribe-form .js-form-item,
.unsubscribe-form .js-form-item {
  position: relative;
  margin-bottom: 20px;
}
.webform-submission-form .cell,
form.user-login-form .cell,
.subscribe-form .cell,
.unsubscribe-form .cell {
  margin-bottom: 15px;
}
.webform-submission-form fieldset,
form.user-login-form fieldset,
.subscribe-form fieldset,
.unsubscribe-form fieldset {
  border: 0 none;
  padding: 0;
}
.webform-submission-form fieldset legend,
form.user-login-form fieldset legend,
.subscribe-form fieldset legend,
.unsubscribe-form fieldset legend {
  display: none;
}
.webform-submission-form label a,
form.user-login-form label a,
.subscribe-form label a,
.unsubscribe-form label a {
  text-decoration: underline;
}
.webform-submission-form label a:hover,
form.user-login-form label a:hover,
.subscribe-form label a:hover,
.unsubscribe-form label a:hover {
  text-decoration: none;
}
.webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 18px 20px;
  border: 0 none;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: bold;
  line-height: 24px;
}
.webform-submission-form input[type=text]:focus,
.webform-submission-form input[type=email]:focus,
.webform-submission-form input[type=date]:focus,
.webform-submission-form input[type=number]:focus,
.webform-submission-form input[type=password]:focus,
.webform-submission-form input[type=tel]:focus,
.webform-submission-form textarea:focus,
form.user-login-form input[type=text]:focus,
form.user-login-form input[type=email]:focus,
form.user-login-form input[type=date]:focus,
form.user-login-form input[type=number]:focus,
form.user-login-form input[type=password]:focus,
form.user-login-form input[type=tel]:focus,
form.user-login-form textarea:focus,
.subscribe-form input[type=text]:focus,
.subscribe-form input[type=email]:focus,
.subscribe-form input[type=date]:focus,
.subscribe-form input[type=number]:focus,
.subscribe-form input[type=password]:focus,
.subscribe-form input[type=tel]:focus,
.subscribe-form textarea:focus,
.unsubscribe-form input[type=text]:focus,
.unsubscribe-form input[type=email]:focus,
.unsubscribe-form input[type=date]:focus,
.unsubscribe-form input[type=number]:focus,
.unsubscribe-form input[type=password]:focus,
.unsubscribe-form input[type=tel]:focus,
.unsubscribe-form textarea:focus {
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}
.webform-submission-form input[type=text].error,
.webform-submission-form input[type=email].error,
.webform-submission-form input[type=date].error,
.webform-submission-form input[type=number].error,
.webform-submission-form input[type=password].error,
.webform-submission-form input[type=tel].error,
.webform-submission-form textarea.error,
form.user-login-form input[type=text].error,
form.user-login-form input[type=email].error,
form.user-login-form input[type=date].error,
form.user-login-form input[type=number].error,
form.user-login-form input[type=password].error,
form.user-login-form input[type=tel].error,
form.user-login-form textarea.error,
.subscribe-form input[type=text].error,
.subscribe-form input[type=email].error,
.subscribe-form input[type=date].error,
.subscribe-form input[type=number].error,
.subscribe-form input[type=password].error,
.subscribe-form input[type=tel].error,
.subscribe-form textarea.error,
.unsubscribe-form input[type=text].error,
.unsubscribe-form input[type=email].error,
.unsubscribe-form input[type=date].error,
.unsubscribe-form input[type=number].error,
.unsubscribe-form input[type=password].error,
.unsubscribe-form input[type=tel].error,
.unsubscribe-form textarea.error {
  border-color: red;
}
.webform-submission-form textarea,
form.user-login-form textarea,
.subscribe-form textarea,
.unsubscribe-form textarea {
  height: 100px;
  padding: 20px;
  line-height: 0.8181818182rem;
}
.webform-submission-form p.description,
form.user-login-form p.description,
.subscribe-form p.description,
.unsubscribe-form p.description {
  margin: 8px 0 0 0;
  font-size: 0.6363636364rem;
  line-height: 0.8181818182rem;
}
.webform-submission-form .js-form-type-checkbox,
.webform-submission-form .js-form-type-radio,
form.user-login-form .js-form-type-checkbox,
form.user-login-form .js-form-type-radio,
.subscribe-form .js-form-type-checkbox,
.subscribe-form .js-form-type-radio,
.unsubscribe-form .js-form-type-checkbox,
.unsubscribe-form .js-form-type-radio {
  margin-bottom: 20px;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox],
.webform-submission-form .js-form-type-checkbox input[type=radio],
.webform-submission-form .js-form-type-radio input[type=checkbox],
.webform-submission-form .js-form-type-radio input[type=radio],
form.user-login-form .js-form-type-checkbox input[type=checkbox],
form.user-login-form .js-form-type-checkbox input[type=radio],
form.user-login-form .js-form-type-radio input[type=checkbox],
form.user-login-form .js-form-type-radio input[type=radio],
.subscribe-form .js-form-type-checkbox input[type=checkbox],
.subscribe-form .js-form-type-checkbox input[type=radio],
.subscribe-form .js-form-type-radio input[type=checkbox],
.subscribe-form .js-form-type-radio input[type=radio],
.unsubscribe-form .js-form-type-checkbox input[type=checkbox],
.unsubscribe-form .js-form-type-checkbox input[type=radio],
.unsubscribe-form .js-form-type-radio input[type=checkbox],
.unsubscribe-form .js-form-type-radio input[type=radio] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.webform-submission-form .js-form-type-checkbox label,
.webform-submission-form .js-form-type-radio label,
form.user-login-form .js-form-type-checkbox label,
form.user-login-form .js-form-type-radio label,
.subscribe-form .js-form-type-checkbox label,
.subscribe-form .js-form-type-radio label,
.unsubscribe-form .js-form-type-checkbox label,
.unsubscribe-form .js-form-type-radio label {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 0 30px;
  cursor: pointer;
  font-size: 0.6363636364rem;
  line-height: 0.8181818182rem;
  color: #000000;
}
.webform-submission-form .js-form-type-checkbox label:before,
.webform-submission-form .js-form-type-radio label:before,
form.user-login-form .js-form-type-checkbox label:before,
form.user-login-form .js-form-type-radio label:before,
.subscribe-form .js-form-type-checkbox label:before,
.subscribe-form .js-form-type-radio label:before,
.unsubscribe-form .js-form-type-checkbox label:before,
.unsubscribe-form .js-form-type-radio label:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 0;
  background: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  vertical-align: top;
}
.webform-submission-form .js-form-type-checkbox label:after,
.webform-submission-form .js-form-type-radio label:after,
form.user-login-form .js-form-type-checkbox label:after,
form.user-login-form .js-form-type-radio label:after,
.subscribe-form .js-form-type-checkbox label:after,
.subscribe-form .js-form-type-radio label:after,
.unsubscribe-form .js-form-type-checkbox label:after,
.unsubscribe-form .js-form-type-radio label:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  margin: 0;
  background: #009750;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 10px;
  line-height: 10px;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.webform-submission-form .js-form-type-radio input[type=checkbox]:checked + label:before,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
form.user-login-form .js-form-type-radio input[type=checkbox]:checked + label:before,
.subscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.subscribe-form .js-form-type-radio input[type=checkbox]:checked + label:before,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.unsubscribe-form .js-form-type-radio input[type=checkbox]:checked + label:before {
  border-color: #009750;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.webform-submission-form .js-form-type-radio input[type=checkbox]:checked + label:after,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
form.user-login-form .js-form-type-radio input[type=checkbox]:checked + label:after,
.subscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.subscribe-form .js-form-type-radio input[type=checkbox]:checked + label:after,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.unsubscribe-form .js-form-type-radio input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox].error + label,
.webform-submission-form .js-form-type-radio input[type=checkbox].error + label,
form.user-login-form .js-form-type-checkbox input[type=checkbox].error + label,
form.user-login-form .js-form-type-radio input[type=checkbox].error + label,
.subscribe-form .js-form-type-checkbox input[type=checkbox].error + label,
.subscribe-form .js-form-type-radio input[type=checkbox].error + label,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox].error + label,
.unsubscribe-form .js-form-type-radio input[type=checkbox].error + label {
  color: red;
}
.webform-submission-form .js-form-submit,
form.user-login-form .js-form-submit,
.subscribe-form .js-form-submit,
.unsubscribe-form .js-form-submit {
  display: block;
  border-radius: 24px;
  padding: 16px 56px;
  margin: 40px auto 0;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
  text-transform: uppercase;
}
.webform-submission-form .js-form-submit:hover,
form.user-login-form .js-form-submit:hover,
.subscribe-form .js-form-submit:hover,
.unsubscribe-form .js-form-submit:hover {
  background-color: #ffed00;
  color: #000000 !important;
}
.webform-submission-form #status-messages,
form.user-login-form #status-messages,
.subscribe-form #status-messages,
.unsubscribe-form #status-messages {
  padding-left: 20px;
  padding-right: 20px;
}
.webform-submission-form #status-messages .callout,
form.user-login-form #status-messages .callout,
.subscribe-form #status-messages .callout,
.unsubscribe-form #status-messages .callout {
  margin: 0;
  background: rgba(0, 0, 0, 0.8);
  color: white;
}
.webform-submission-form .webform-confirmation,
form.user-login-form .webform-confirmation,
.subscribe-form .webform-confirmation,
.unsubscribe-form .webform-confirmation {
  text-align: center;
}
.webform-submission-form .webform-confirmation .webform-confirmation__message,
form.user-login-form .webform-confirmation .webform-confirmation__message,
.subscribe-form .webform-confirmation .webform-confirmation__message,
.unsubscribe-form .webform-confirmation .webform-confirmation__message {
  margin-bottom: 30px;
  font-size: 0.9090909091rem;
  line-height: 1.1818181818rem;
  color: #000000;
}

.user-login-form {
  margin-bottom: 40px;
}
.user-login-form #edit-actions {
  text-align: center;
  margin-top: 20px;
}

.msg-disclaimer-form #edit-actions {
  margin-top: 40px;
}

.main-menu ul.dropdown {
  position: initial !important;
  display: none;
}
.main-menu ul.dropdown li a {
  font-size: 0.8181818182rem;
  font-weight: 700;
  color: #000000;
}
.main-menu ul.dropdown li a:hover {
  color: #009750 !important;
}
.main-menu ul.dropdown li a:after {
  content: none !important;
}
.main-menu ul.dropdown li .submenu-background {
  display: none;
  position: absolute;
  top: 140px;
  right: 0;
  width: 100%;
  height: auto;
  background-color: rgb(244, 244, 244);
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  z-index: -1;
}
.main-menu ul.dropdown li .submenu-background .custom-menu {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
  max-width: 58.1818181818rem;
  margin-left: auto;
  margin-right: auto;
  display: none;
  padding: 36px 0;
}
@media print, screen and (min-width: 48em) {
  .main-menu ul.dropdown li .submenu-background .custom-menu {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.main-menu ul.dropdown li .submenu-background .custom-menu a {
  color: #009750;
  text-decoration: underline;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a.is-active {
  color: #000000;
  text-decoration: none;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a.is-active:hover {
  color: #000000 !important;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a:hover,
.main-menu ul.dropdown li .submenu-background .custom-menu a:active,
.main-menu ul.dropdown li .submenu-background .custom-menu a:focus {
  text-decoration: none;
}
.main-menu ul.dropdown li.is-active {
  color: #000000;
  text-decoration: none;
}
.main-menu ul.dropdown li.is-active > .submenu-background {
  display: block;
}
.main-menu ul.dropdown li.is-active > .submenu-background ul.custom-menu {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-flow: column;
  width: 100%;
}
.main-menu ul.dropdown li.is-active > .submenu-background ul.custom-menu li {
  width: 100%;
}
.main-menu ul.dropdown li.active-trail a,
.main-menu ul.dropdown li.active-trail a:hover,
.main-menu ul.dropdown li.active-trail a:active,
.main-menu ul.dropdown li.active-trail a:focus {
  color: #009750;
  text-decoration: none;
}
@media print, screen and (min-width: 64em) {
  .main-menu ul.dropdown {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.paragraph.paragraph-unpublished {
  background: red;
}
.paragraph.removeLeftSpace {
  margin-left: 0;
  padding-left: 0;
}
.paragraph.removeRightSpace {
  margin-right: 0;
  padding-right: 0;
}

/**
 * Foundation Grid paragraphs + Foundation Cell
 * Basic class to manage the background
 * Please note that for sending the background image on fullwidth of the screen you need to modify your page.html.twig.
 * Please remove all the grid-system and leave the manage on the paragraph Foundation Grid system.
 */
.paragraph--type--foundation-grid {
  position: relative;
}

.paragraph--type--foundation-cell {
  position: relative;
}

.grid-container {
  position: relative;
}

.backgroundDiv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.backgroundDiv + div {
  position: relative;
  z-index: 1;
}
.backgroundDiv.colorBg-dark {
  background-color: #000000;
}
.backgroundDiv.imageBg {
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  background-size: cover;
}

.paragraph--type--foundation-accordions-tabs ul.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  border-color: transparent;
  background: transparent;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  margin-right: 10px;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a {
  position: relative;
  height: 48px;
  padding: 0 15px;
  border: none;
  border-bottom: 6px solid #000000;
  font-size: 0.6363636364rem;
  line-height: 48px;
  color: #000000;
  text-transform: uppercase;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a:hover, .paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a:focus, .paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a[aria-selected=true] {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions-tabs .tabs-content {
  margin: 30px 0;
  border-color: transparent;
  background: transparent;
}
.paragraph--type--foundation-accordions-tabs .tabs-panel {
  padding: 0;
}

.paragraph--type--foundation-accordions ul.accordion,
.paragraph--type--foundation-accordions-tabs ul.accordion {
  background: transparent;
}
.paragraph--type--foundation-accordions .accordion-item,
.paragraph--type--foundation-accordions-tabs .accordion-item {
  margin-bottom: 5px;
}
.paragraph--type--foundation-accordions .accordion-title,
.paragraph--type--foundation-accordions-tabs .accordion-title {
  display: block !important;
  position: relative;
  padding: 20px 30px 20px 15px;
  border: none;
  background: #000000;
  font-size: 0.6363636364rem;
  line-height: 0.7272727273rem;
  color: #ffffff;
  text-transform: uppercase;
  /*@include icon(after, plus){
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    z-index: 2;

    font-size: 8px;
    line-height: 1;
    text-align: center;
  }*/
}
.paragraph--type--foundation-accordions .accordion-title:before,
.paragraph--type--foundation-accordions-tabs .accordion-title:before {
  display: none !important;
}
.paragraph--type--foundation-accordions .accordion-title:focus, .paragraph--type--foundation-accordions .accordion-title:hover,
.paragraph--type--foundation-accordions-tabs .accordion-title:focus,
.paragraph--type--foundation-accordions-tabs .accordion-title:hover {
  background-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions li.accordion-item.is-active > .accordion-title,
.paragraph--type--foundation-accordions-tabs li.accordion-item.is-active > .accordion-title {
  background-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions .accordion-content,
.paragraph--type--foundation-accordions-tabs .accordion-content {
  margin: 0;
  padding: 25px 35px;
  background-color: transparent;
  border: none;
}
.paragraph--type--highlights {
  background-color: #46b384;
  padding: 55px 0;
}
.paragraph--type--highlights .highlight-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5px;
}
.paragraph--type--highlights .highlight-content > div {
  color: #ffffff;
  text-align: center;
}
.paragraph--type--highlights .highlight-content > div.body-l, .paragraph--type--highlights .press-releases.press-releases-latest .highlight-content > div.press-release-title, .press-releases.press-releases-latest .paragraph--type--highlights .highlight-content > div.press-release-title, .paragraph--type--highlights .paragraph--type--quote .quote-content .highlight-content > div.text-align-center, .paragraph--type--quote .quote-content .paragraph--type--highlights .highlight-content > div.text-align-center {
  margin-top: 16px;
  line-height: 22px;
  font-size: 20px;
}
.paragraph--type--highlights .highlight-content .separator-bottom-small:after {
  background-color: #ffed00;
}
.paragraph--type--highlights .swiper-pagination {
  bottom: 10px;
}
.paragraph--type--highlights .swiper-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  vertical-align: middle;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.paragraph--type--highlights .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
  height: 12px;
  width: 12px;
}

.paragraph--type--slider {
  position: relative;
  margin: 100px 0;
}
.paragraph--type--slider .swiper-container {
  padding: 0;
  overflow: hidden;
}
.paragraph--type--slider .swiper-container .cell {
  position: relative;
}
.paragraph--type--slider .swiper-container .swiper-slide {
  width: 100%;
  visibility: hidden;
  background-color: #ffffff;
}
.paragraph--type--slider .swiper-container .swiper-slide.swiper-slide-active {
  visibility: visible;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper {
  padding: 56px 0 117px 0;
  position: relative;
  height: 500px;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper .title {
  margin: 40px 0 20px 0;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper .description {
  padding: 0px 108px 0px 108px;
}
.paragraph--type--slider .swiper-container .swiper-slide:before {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}
.paragraph--type--slider .swiper-container .swiper-arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  background-color: #009750;
  height: 50%;
  width: 100%;
  top: 25%;
  font-size: 26px;
}
.paragraph--type--slider .swiper-container .swiper-prev {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.paragraph--type--slider .swiper-container .swiper-prev:before {
  content: "\e810";
}
.paragraph--type--slider .swiper-container .swiper-next {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.paragraph--type--slider .swiper-container .swiper-next:before {
  content: "\e813";
}
.paragraph--type--slider:before {
  content: "";
  position: absolute;
  background-color: #009750;
  height: 50%;
  width: 100%;
  top: 25%;
  left: 0;
}

.paragraph--type--cards .card .card-wrapper {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card:hover .card-wrapper {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--cards .card:hover .card-cover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.paragraph--type--cards .cards-heading {
  padding-bottom: 40px;
}
.paragraph--type--cards .cards-heading > p {
  margin-bottom: 25px;
}
.paragraph--type--cards .card-cover {
  overflow: hidden;
}
.paragraph--type--cards .card-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card-content {
  padding: 40px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card-content .card-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 30px;
}
.paragraph--type--cards .card-content .card-title:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background-color: #009750;
}
.paragraph--type--company-logos .description {
  margin: 20px 0 40px 0;
}
.paragraph--type--company-logos .category {
  margin-top: 40px;
  margin-bottom: 22px;
  font-weight: 700;
}
.paragraph--type--company-logos .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.paragraph--type--company-logos .images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.paragraph--type--company-logos .images .image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 200px;
  height: 75px;
  padding: 0 20px;
}
.paragraph--type--company-logos .images .image a,
.paragraph--type--company-logos .images .image img {
  max-width: 100%;
  max-height: 100%;
}
.paragraph--type--company-logos .images .image a {
  height: 100%;
  width: 100%;
}
.paragraph--type--company-logos .images .swiper-pagination {
  display: none;
}
@media print, screen and (max-width: 79.99875em) {
  .paragraph--type--company-logos .swiper-wrapper {
    padding-bottom: 80px;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }
  .paragraph--type--company-logos .images .image {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    margin: auto;
  }
  .paragraph--type--company-logos .images .image img {
    max-width: 100%;
    max-height: 75px;
  }
  .paragraph--type--company-logos .images .swiper-pagination {
    display: block;
  }
}

.paragraph--type--cards-3-columns .card {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards-3-columns .card:hover {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--cards-3-columns .card:hover .card-cover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.paragraph--type--cards-3-columns .card-cover {
  overflow: hidden;
}
.paragraph--type--cards-3-columns .card-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards-3-columns .card-content {
  padding: 30px 20px;
}
.paragraph--type--cards-3-columns .card-content .card-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 11px;
}
.paragraph--type--content-boxes .cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.paragraph--type--content-boxes .cell .box-content {
  padding-left: 0;
  padding-right: 100px;
}
.paragraph--type--content-boxes .cell.small-order-1 .box-content {
  padding-right: 0;
  padding-left: 100px;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--content-boxes .cell .box-content {
    padding: 0;
  }
  .paragraph--type--content-boxes .cell.small-order-1 .box-content {
    padding: 0;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--content-boxes .cell.box-content-content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .paragraph--type--content-boxes .cell.box-content-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .paragraph--type--content-boxes .cell.box-content-image img {
    width: 100%;
  }
}

.paragraph--type--claim {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 45px 0;
}
.paragraph--type--claim .claim-content {
  width: 40%;
}
.paragraph--type--claim .claim-content p {
  font-size: 1.4545454545rem;
  line-height: 2.1818181818rem;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--claim {
    padding-right: 0.4545454545rem;
    padding-left: 0.4545454545rem;
    max-width: 58.1818181818rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (max-width: 63.99875em) and (min-width: 48em) {
  .paragraph--type--claim {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--claim .claim-content {
    width: 100%;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--claim .claim-content {
    width: 100%;
  }
  .paragraph--type--claim .claim-content p {
    text-align: center;
    font-size: 1.2727272727rem;
    line-height: 1.4545454545rem;
  }
}

.paragraph--type--vertical-cards {
  padding-top: 120px;
  padding-bottom: 200px;
}
.paragraph--type--vertical-cards .card-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 40px;
  margin-top: -30px;
  margin-bottom: -30px;
}
.paragraph--type--vertical-cards .card-wrapper .card-image {
  width: 50%;
}
.paragraph--type--vertical-cards .card-wrapper .card-content {
  padding: 45px 60px;
  width: 50%;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle {
  text-transform: none;
  font-size: 1.0909090909rem;
  font-weight: 500;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle:after {
  top: 26px;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
  font-weight: 500;
  margin: 24px 0;
}
.paragraph--type--vertical-cards .card-wrapper.card-inverted .card-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.paragraph--type--vertical-cards .card-wrapper.card-inverted .card-content {
  padding: 105px 60px;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--vertical-cards {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .paragraph--type--vertical-cards .card-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin: 0;
    padding: 0;
  }
  .paragraph--type--vertical-cards .card-wrapper .card-image {
    width: 100%;
  }
  .paragraph--type--vertical-cards .card-wrapper .card-content {
    padding: 0;
    width: 100%;
  }
  .paragraph--type--vertical-cards .card-wrapper.card-inverted .card-image {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .paragraph--type--vertical-cards .card-wrapper.card-inverted .card-content {
    padding: 0;
  }
}

.paragraph--type--quote:not(.with-image) {
  background: url(/themes/custom/tt_foundation/images/paragraphs/quote_background.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.paragraph--type--quote:not(.with-image) .quote-content .quote-footer {
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.paragraph--type--quote .quote-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 120px;
}
.paragraph--type--quote .quote-content .text-align-center {
  margin-bottom: 30px;
}
.paragraph--type--quote .quote-content .separator, .paragraph--type--quote .quote-content .separator-bottom, .paragraph--type--quote .quote-content .separator-bottom-small {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-bottom: 40px;
  margin-top: 60px;
}
.paragraph--type--quote .quote-content .separator:after, .paragraph--type--quote .quote-content .separator-bottom:after, .paragraph--type--quote .quote-content .separator-bottom-small:after {
  content: "";
  bottom: 0;
  height: 1px;
  width: 90px;
  background-color: #009fe3;
  -ms-flex-item-align: center;
      align-self: center;
}
.paragraph--type--quote .quote-content .quote-footer .quote-name {
  font-weight: 700;
  margin-bottom: 10px;
}
.paragraph--type--quote .quote-content .quote-footer .quote-other {
  margin-bottom: 0;
}
.paragraph--type--quote.with-image {
  background: url("../images/paragraphs/quote_background_image.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 25% 50%;
  padding: 120px 0 70px 0;
}
.paragraph--type--quote.with-image .quote-background-image {
  position: absolute;
}
.paragraph--type--quote.with-image .quote-content .quote-footer {
  text-align: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.paragraph--type--quote.with-image .quote-content .separator:after, .paragraph--type--quote.with-image .quote-content .separator-bottom:after, .paragraph--type--quote.with-image .quote-content .separator-bottom-small:after {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--quote .quote-content .separator:after, .paragraph--type--quote .quote-content .separator-bottom:after, .paragraph--type--quote .quote-content .separator-bottom-small:after {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--quote.with-image {
    padding: 20px 0 0 0;
  }
  .paragraph--type--quote.with-image .quote-footer {
    text-align: center;
  }
  .paragraph--type--quote .quote-content {
    margin-bottom: 0;
    text-align: center;
  }
  .paragraph--type--quote .quote-content .quote-footer {
    padding-bottom: 20px;
  }
}

/* Raggruppa tutti i paragrafi minicard=* ex "contacts" */
.paragraph--type--contacts .contact-content {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  opacity: 1;
  background-color: #ffffff;
  padding: 39px 27px 29px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--contacts .contact-content:hover {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--contacts .wrapper-title {
  margin-bottom: 30px;
}
.paragraph--type--contacts .name {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.8rem;
  text-decoration: underline;
  text-underline-offset: 10px;
  text-decoration-color: #009750;
  /*&:after {
    content: "";
    position: absolute;
    bottom: -7px;
    height: 1px;
    width: 100%;
    background-color: $primary-green;
  }*/
}
.paragraph--type--contacts .text {
  margin-bottom: 40px;
}
.paragraph--type--contacts .text p {
  margin-bottom: 0;
}
.paragraph--type--contacts .files .media-link {
  margin: 20px 0;
}

.msg_c_wrapper_clearfix:before,
.msg_c_wrapper_clearfix:after {
  content: " ";
  display: table;
}

.msg_c_wrapper:not(.msg_c_wrapper_full_width) {
  padding-right: 0;
  padding-left: 0;
  margin-left: auto;
  margin-right: auto;
}

.msg_c_wrapper_biggest {
  max-width: auto;
}

.msg_c_wrapper_big {
  max-width: auto;
}

.msg_c_wrapper_medium {
  max-width: auto;
}

.msg_c_wrapper_small {
  max-width: auto;
}

.msg_c_wrapper_smallest {
  max-width: auto;
}

.msg_c_wrapper_space_top {
  margin-top: auto;
}

.msg_c_wrapper_space_bottom {
  margin-bottom: var(--msg_c_wrapper_spacer, 35px);
}

.msg_c_wrapper_space_both {
  margin-top: var(--msg_c_wrapper_spacer, 35px);
  margin-bottom: var(--msg_c_wrapper_spacer, 35px);
}

.msg_c_wrapper_colored {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #F4F4F4;
}

.paragraph--type--discover-more {
  padding: 80px 0;
  opacity: 1;
  background-color: rgb(244, 244, 244);
}
.paragraph--type--discover-more .cards-title {
  color: #009750;
}
.paragraph--type--discover-more .card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.paragraph--type--discover-more .card-content .card-text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.paragraph--type--discover-more .card-content .card-link {
  justify-self: flex-end;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--discover-more {
    padding: 20px 0;
  }
  .paragraph--type--discover-more .cards-title {
    font-size: 1.7272727273rem;
  }
  .paragraph--type--discover-more .card-image {
    text-align: center;
  }
}

.paragraph--type--timeline .paragraph--type--timeline-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item .timeline-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  border: 0;
  padding: 20px 0;
  margin: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  padding: 0;
  margin: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-image {
  border: none;
}
.paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
  padding-left: 0;
  padding-right: 0;
}
@media print, screen and (min-width: 48em) {
  .paragraph--type--timeline .paragraph--type--timeline-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    border-right: none;
    border-left: 1px solid #46b384;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 0;
    padding-right: 40px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-image {
    width: 50%;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
    width: 50%;
    padding-left: 40px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #46b384;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    height: 40px;
    border: 10px solid #46b384;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 20px;
    background-color: #ffffff;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
    padding-left: 120px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
    padding-right: 120px;
  }
}

.body.field--node-body {
  margin-bottom: 40px;
  text-align: center;
}
.body.field--node-body p:last-child {
  margin-bottom: 0;
}

/**
 * Definizioni comuni a tutte le viste
 * Le viste che riguardano un certo tipo di contenuto vanno stilizzate nel relativo file content_types/_*.scss
 */
.views-exposed-form {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.views-exposed-form .form-item {
  margin: 0 10px;
}
@media print, screen and (max-width: 47.99875em) {
  .views-exposed-form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    width: 100%;
  }
  .views-exposed-form .select2-container {
    min-width: 100%;
  }
}

.views-row-document {
  position: relative;
  border-bottom: 1px solid #D1D2D4;
}
.views-row-document:first-child {
  border-top: 1px solid #D1D2D4;
}

.views-element-container nav.pager {
  text-align: center;
}
.views-element-container ul.pager__items {
  display: inline-block;
  width: auto;
  margin: 40px auto;
  padding: 0;
  font-size: 0;
  text-align: center;
}
.views-element-container ul.pager__items li.pager__item {
  display: inline-block;
  min-width: 40px;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
@media print, screen and (min-width: 48em) {
  .views-element-container ul.pager__items li.pager__item {
    margin: 0 4px;
  }
}
.views-element-container ul.pager__items li.pager__item:before {
  display: none !important;
}
.views-element-container ul.pager__items li.pager__item a {
  position: relative;
  display: inline-block;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: transparent;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 40px;
  color: #000000;
  text-align: center;
  font-weight: bold;
}
.views-element-container ul.pager__items li.pager__item a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: #009750;
  z-index: -1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.views-element-container ul.pager__items li.pager__item a:hover a {
  color: white;
}
.views-element-container ul.pager__items li.pager__item a:hover:before {
  width: 100%;
}
.views-element-container ul.pager__items li.pager__item.pager__item--ellipsis {
  height: 40px;
  display: inline-block;
  line-height: 40px;
  width: 30px;
  min-width: auto;
}
@media print, screen and (min-width: 48em) {
  .views-element-container ul.pager__items li.pager__item.pager__item--ellipsis {
    width: 40px;
  }
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous, .views-element-container ul.pager__items li.pager__item.pager__item--next {
  display: none;
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous span[aria-hidden=true], .views-element-container ul.pager__items li.pager__item.pager__item--next span[aria-hidden=true] {
  display: none;
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous a:after {
  content: "\e810";
  margin-left: 0;
}
.views-element-container ul.pager__items li.pager__item.pager__item--next a:after {
  content: "\e813";
  margin-left: 0;
}
.views-element-container ul.pager__items li.pager__item.pager__item.current a {
  color: #ffffff;
}
.views-element-container ul.pager__items li.pager__item.pager__item.current a:before {
  width: 100%;
}

.viewInfinitePaged .js-pager__items.infinite-pager {
  margin-top: 60px;
  margin-bottom: 0;
}
.viewInfinitePaged .js-pager__items.infinite-pager li:before {
  display: none;
}

.befFilters .bef-exposed-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-top: 30px;
  margin-bottom: 70px;
}
.befFilters .bef-exposed-form label,
.befFilters .bef-exposed-form legend {
  display: none;
}
.befFilters .bef-exposed-form .js-form-item {
  margin-right: 20px;
}
.befFilters .bef-exposed-form .js-form-item:last-of-type {
  margin-right: 0;
}
.befFilters .bef-exposed-form .form-radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 0;
}
.befFilters .bef-exposed-form .form-radios .js-form-type-radio {
  margin: 0 5px;
}
.befFilters .bef-exposed-form .form-radios input[type=radio] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.befFilters .bef-exposed-form .form-radios label.option {
  display: inline-block;
  margin: 0;
  padding: 17px 20px 11px 20px;
  background: transparent;
  border-bottom: 7px solid #000000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  font-size: 0.6363636364rem;
  line-height: 0.9090909091rem;
  color: #000000;
  text-transform: uppercase;
}
.befFilters .bef-exposed-form .form-radios input[type=radio]:checked + label.option {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.befFilters .bef-exposed-form .form-actions {
  display: none;
}
@media print, screen and (min-width: 48em) {
  .befFilters .bef-exposed-form .form-radios {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media print, screen and (min-width: 64em) {
  .befFilters .bef-exposed-form .form-radios label.option:hover {
    background: #000000;
    border-color: #000000;
    color: #ffffff;
  }
}

.view-search.search-page form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.view-search.search-page form label {
  display: none;
}
.view-search.search-page form input[type=text] {
  padding: 26px 20px;
  line-height: 1;
  font-size: 0.8181818182rem;
  font-weight: 700;
  border: none;
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
}
.view-search.search-page form input[type=submit] {
  border-radius: 32px;
  color: #ffffff;
  background-color: #009750;
  padding: 16px 32px;
  line-height: 1;
  font-size: 0.6363636364rem;
  font-weight: 700;
  text-transform: uppercase;
}
.view-search.search-page form input {
  margin: 0;
}
.view-search.search-page .views-row article {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D1D2D4;
}
.view-search.search-page .views-row:first-child article {
  border-top: 1px solid #D1D2D4;
}
.view-search.search-page .views-row h2.node-title {
  font-weight: bold;
  margin-bottom: 20px;
}
.view-search.search-page .views-row .field--search-api-excerpt {
  margin-bottom: 20px;
}

#site-search-form {
  display: none;
  position: fixed;
  z-index: 9;
  height: calc(100% - 140px);
  width: 100%;
  top: 140px;
  padding: 0 15px;
  background-color: rgba(0, 151, 80, 0.9);
  background-image: url("../images/search/search_background.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
}
.headroom-not-top #site-search-form {
  height: calc(100% - 75px);
  top: 75px;
}
@media print, screen and (min-width: 64em) {
  .headroom-not-top #site-search-form {
    height: calc(100% - 75px);
    top: 75px;
  }
  .toolbar-horizontal #site-search-form {
    height: calc(100% - 179px);
    top: 179px;
  }
  .toolbar-tray-open.toolbar-vertical #site-search-form {
    height: calc(100% - 179px);
    top: 179px;
  }
  .toolbar-tray-open.toolbar-horizontal #site-search-form {
    height: calc(100% - 223px);
    top: 223px;
  }
  .toolbar-horizontal.headroom-not-top #site-search-form {
    height: calc(100% - 114px);
    top: 114px;
  }
  .toolbar-tray-open.toolbar-vertical.headroom-not-top #site-search-form {
    height: calc(100% - 114px);
    top: 114px;
  }
  .toolbar-tray-open.toolbar-horizontal.headroom-not-top #site-search-form {
    height: calc(100% - 158px);
    top: 158px;
  }
}

#block-tt-foundation-formespostosearchsearch-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}
#block-tt-foundation-formespostosearchsearch-block form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
#block-tt-foundation-formespostosearchsearch-block form label {
  display: none;
}
#block-tt-foundation-formespostosearchsearch-block form input[type=text] {
  padding: 26px 20px;
  line-height: 1;
  font-size: 0.8181818182rem;
  font-weight: 700;
  border: none;
}
#block-tt-foundation-formespostosearchsearch-block form input[type=submit] {
  border-radius: 32px;
  color: #009750;
  background-color: #ffffff;
  padding: 16px 77px;
  line-height: 1;
  font-size: 0.6363636364rem;
  font-weight: 700;
  text-transform: uppercase;
}
#block-tt-foundation-formespostosearchsearch-block form input {
  margin: 0;
}

.views-view-assemblee .assemblea-title {
  margin-bottom: 40px;
}
.views-view-assemblee > .views-row article.node-assemblea-teaser {
  padding-bottom: 80px;
}

.press-releases.press-releases-latest {
  padding-top: 100px;
  padding-bottom: 100px;
}
.press-releases.press-releases-latest {
  padding-top: 20px;
  padding-bottom: 20px;
}

.media-gallery .media-content {
  position: relative;
}
.media-gallery .media-content a {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 8px;
  font-size: 0;
  bottom: 10px;
  background-color: #009750;
}
.media-gallery .media-content a:before {
  font-size: 24px;
  color: #ffffff;
}
.media-gallery .media-content a.media-download {
  right: 10px;
}
.media-gallery .media-content a.media-download:before {
  content: "\e808";
}
.media-gallery .media-content a.media-expand {
  left: 10px;
}
.media-gallery .media-content a.media-expand:before {
  content: "\e807";
}
.media-gallery .media-content a:hover {
  background-color: #ffed00;
}
.media-gallery .media-content a:hover:before {
  color: #000000;
}

.page-404 .pageTitle,
.page-403 .pageTitle {
  font-size: 9.0909090909rem !important;
  line-height: 9.0909090909rem !important;
  font-weight: bold !important;
  color: #D1D2D4 !important;
}

.press-releases.press-releases-latest .press-release-date time {
  color: #000000;
}
.press-releases.press-releases-latest .press-release-title {
  font-weight: bold;
  margin: 16px 0;
}
.press-releases.press-releases-latest .press-release-title span {
  text-transform: uppercase;
  font-weight: 700;
}

body.path-frontpage {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  overflow-x: hidden;
  /**
  * Headroom - menu non attaccato in pagina ma scroll up
  */
}
body.path-frontpage #main.pageMain {
  margin: 0;
}
body.path-frontpage header.pageHeader {
  background: transparent;
  color: #ffffff;
}
body.path-frontpage header.pageHeader a {
  color: #ffffff;
}
body.path-frontpage header.pageHeader a.logo svg #text {
  fill: #ffffff;
}
body.path-frontpage header.pageHeader.headroom--not-top a.logo svg #text {
  fill: #000000;
}
body.path-frontpage header.pageHeader .main-menu ul.dropdown > li > a,
body.path-frontpage header.pageHeader .block-language ul.links > li > a:not(:hover) {
  color: #ffffff;
}
body.path-frontpage header.pageHeader.headroom--not-top {
  background-color: #ffffff;
  color: #000000 !important;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
body.path-frontpage header.pageHeader.headroom--not-top .main-menu ul.dropdown > li > a:not(:hover),
body.path-frontpage header.pageHeader.headroom--not-top .block-language ul.links > li > a:not(:hover) {
  color: #000000 !important;
}
body.path-frontpage header.pageHeader.headroom--not-top .main-menu ul.dropdown li.opens-right > .is-dropdown-submenu {
  top: 75px;
}
body.path-frontpage .paragraph--type--claim {
  background: rgb(0, 0, 0);
  color: #ffffff;
}
body.path-frontpage .paragraph--type--vertical-cards {
  background: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(50%, rgb(0, 80, 114)), to(rgb(0, 159, 227)));
  background: linear-gradient(180deg, #000000 0%, rgb(0, 80, 114) 50%, rgb(0, 159, 227) 100%);
  color: #ffffff;
}

.assemblee .assemblea-title {
  margin-bottom: 40px;
}

.node-content.node-type-map-marker.node-view-mode-full {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  padding: 40px 50px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  opacity: 0;
}
.node-content.node-type-map-marker.node-view-mode-full.opened {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: #009750;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  text-align: center;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close span {
  display: inline-block;
  vertical-align: top;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close span:before {
  font-size: 24px;
  line-height: 50px;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close:hover {
  background: #46b384;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper .marker-type {
  margin-top: 30px;
  margin-bottom: 20px;
  font-weight: 700;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper .marker-type span {
  margin-left: 10px;
}
body.is-ie11 .node-content.node-type-feralpi-marker-.node-view-mode-full .field-name-field-prodotti .field-item {
  -ms-flex-preferred-size: 46%;
      flex-basis: 46%;
}

.viewEventi .views-exposed-form,
.view-exp-form-style .views-exposed-form {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.viewEventi .views-exposed-form fieldset.fieldgroup,
.view-exp-form-style .views-exposed-form fieldset.fieldgroup {
  text-align: center;
}
.viewEventi .views-exposed-form .form--inline > .form-item,
.view-exp-form-style .views-exposed-form .form--inline > .form-item {
  float: none;
  display: inline-block;
}
.viewEventi .views-exposed-form .form-item-year,
.view-exp-form-style .views-exposed-form .form-item-year {
  padding: 20px 20px;
}
.viewEventi .views-exposed-form fieldset,
.view-exp-form-style .views-exposed-form fieldset {
  margin: 0;
  border: 0 none;
  padding: 0;
}
.viewEventi .views-exposed-form .form-item,
.view-exp-form-style .views-exposed-form .form-item {
  margin: 0;
}
.viewEventi .views-exposed-form legend,
.view-exp-form-style .views-exposed-form legend {
  font-size: 16px;
  line-height: 26px;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  width: 100%;
}
.viewEventi .views-exposed-form .fieldset-wrapper label,
.viewEventi .views-exposed-form .fieldset-wrapper input,
.view-exp-form-style .views-exposed-form .fieldset-wrapper label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper input {
  display: block;
}
.viewEventi .views-exposed-form .fieldset-wrapper .form-radios,
.view-exp-form-style .views-exposed-form .fieldset-wrapper .form-radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
}
.viewEventi .views-exposed-form .fieldset-wrapper input[type=radio],
.view-exp-form-style .views-exposed-form .fieldset-wrapper input[type=radio] {
  display: none;
}
.viewEventi .views-exposed-form .fieldset-wrapper input[type=radio]:checked + label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper input[type=radio]:checked + label {
  background: #009750;
}
.viewEventi .views-exposed-form .fieldset-wrapper label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper label {
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 10px;
  background: #ABADAF;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  margin: 0;
  white-space: nowrap;
}
@media print, screen and (min-width: 48em) {
  .viewEventi .views-exposed-form .fieldset-wrapper label,
  .view-exp-form-style .views-exposed-form .fieldset-wrapper label {
    padding: 12px 24px;
  }
}
@media print, screen and (min-width: 48em) {
  .viewEventi .views-exposed-form,
  .view-exp-form-style .views-exposed-form {
    margin-bottom: 50px;
  }
}

.node-row-event.eventTbd span[class^=icn-], .node-row-event.eventPast span[class^=icn-] {
  opacity: 0.5;
}
.node-row-event .custom-row-wrapper {
  padding: 0;
}
.node-row-event .custom-row-wrapper:hover .custom-icon:before {
  color: #ffffff;
  background-color: #009750;
}
.node-row-event .custom-row-wrapper:hover .custom-title {
  text-decoration: none;
}
.node-row-event .custom-row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.node-row-event .custom-icon:hover:before {
  color: #000000 !important;
  background-color: #ffed00 !important;
}
.node-row-event .custom-title-wrapper {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.node-row-event .custom-title-wrapper .custom-title {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper .custom-title {
    padding: 0 20px 0 0;
  }
}
.node-row-event .custom-title-wrapper .field--node-field-type {
  font-size: 11px;
  font-weight: bold;
  background-color: #D1D2D4;
  padding: 4px 15px;
  border-radius: 20px;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper .field--node-field-type {
    margin-bottom: 0;
  }
}
.node-row-event .custom-title-wrapper .custom-title-sup-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-top: 20px;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.node-row-event .custom-right-wrapper {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.node-row-event .custom-right-wrapper .calendar-icon {
  -ms-flex-preferred-size: 40px;
      flex-basis: 40px;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.node-row-event .custom-right-wrapper .calendar-icon:before {
  content: "\e83f";
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper .calendar-icon {
    -ms-flex-preferred-size: 60px;
        flex-basis: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.node-row-event .custom-right-wrapper .calendar-attach {
  -ms-flex-preferred-size: 60px;
      flex-basis: 60px;
}
.node-row-event .custom-right-wrapper .calendar-attach a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.node-row-event .custom-right-wrapper .calendar-type {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper .calendar-type {
    -ms-flex-preferred-size: 175px;
        flex-basis: 175px;
  }
}
.node-row-event .custom-right-wrapper .field--node-field-type {
  font-size: 11px;
  font-weight: bold;
  background-color: #D1D2D4;
  padding: 4px 15px;
  border-radius: 20px;
}
.node-row-event .custom-right-wrapper.event-past .calendar-icon:before {
  opacity: 0.5;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.node-row-event .custom-date {
  white-space: normal;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-date {
    text-align: right;
    -ms-flex-preferred-size: 220px;
        flex-basis: 220px;
  }
}
.node-row-event .addeventatc {
  background: transparent;
  border: medium none;
  border-radius: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  text-shadow: none;
  padding: 0;
  z-index: 1;
}
.node-row-event .addeventatc span.addeventatc_icon {
  display: none !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR0X2ZvdW5kYXRpb24uY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImJhc2UvX2RydXBhbC5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fZWxlbWVudHMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9ycy9faGFtYnVyZ2Vycy5zY3NzIiwidmVuZG9ycy9oYW1idXJnZXJzL19oYW1idXJnZXJzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsInZlbmRvcnMvaGFtYnVyZ2Vycy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvYW5pbWF0aW9ucy9fZGVmYXVsdC5zY3NzIiwidmVuZG9ycy9oYW1idXJnZXJzL2FuaW1hdGlvbnMvX2NyaXNzLWNyb3NzLnNjc3MiLCJ2ZW5kb3JzL19vdXRkYXRlZC1icm93c2VyLnNjc3MiLCJ2ZW5kb3JzL19mYW5jeWJveC5zY3NzIiwidmVuZG9ycy9fc2xpY2suc2NzcyIsInZlbmRvcnMvX3NlbGVjdDIuc2NzcyIsInZlbmRvcnMvX2l1YmVuZGEuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX21haW4uc2NzcyIsImxheW91dC9fbW1lbnUuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX3NwYWNlcnMuc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19iYXNpY19ibG9ja3Muc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19icmVhZGNydW1icy5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX2hlYWRlcl9iYW5uZXJfYmxvY2suc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19sYW5ndWFnZS5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX3R0X21hcC5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX21haWx1cC5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZ2xvYmFsLnNjc3MiLCJtb2R1bGVzL2Zvcm1zL19sb2dpbi5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZGlzY2xhaW1lci5zY3NzIiwibW9kdWxlcy9tZW51cy9fbWFpbi5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL19jb21tb24uc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fYWNjb3JkaW9uc190YWJzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2hpZ2hsaWdodHMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fc2xpZGVyLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NhcmRzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NvbXBhbnlfbG9nb3Muc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fY2FyZHNfM19jb2x1bW5zLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NvbnRlbnRfYm94ZXMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fY2xhaW0uc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fdmVydGljYWxfY2FyZHMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fcXVvdGUuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fbWluaWNhcmRzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX21zZ19jX3dyYXBwZXIuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fZGlzY292ZXJfbW9yZS5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL190aW1lbGluZS5zY3NzIiwibW9kdWxlcy9maWVsZHMvX2JvZHkuc2NzcyIsIm1vZHVsZXMvdmlld3MvX2NvbW1vbi5zY3NzIiwibW9kdWxlcy92aWV3cy9fc2VhcmNoLnNjc3MiLCJtb2R1bGVzL3ZpZXdzL19hc3NlbWJsZWUuc2NzcyIsIm1vZHVsZXMvdmlld3MvX3ByZXNzX3JlbGVhc2VzLnNjc3MiLCJtb2R1bGVzL3ZpZXdzL19tZWRpYV9nYWxsZXJ5LnNjc3MiLCJjb250ZW50X3R5cGVzL19wYWdlcy5zY3NzIiwiY29udGVudF90eXBlcy9fcHJlc3NfcmVsZWFzZXMuc2NzcyIsImNvbnRlbnRfdHlwZXMvX2hvbWVwYWdlLnNjc3MiLCJjb250ZW50X3R5cGVzL19hc3NlbWJsZWUuc2NzcyIsImNvbnRlbnRfdHlwZXMvX21hcF9tYXJrZXIuc2NzcyIsImNvbnRlbnRfdHlwZXMvX2V2ZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDc0VoQixtQkFBQTtBQVFBLG1CQUFBO0FBTUEsa0JBQUE7QUFFQSxpQkFBQTtBQUtBLG9CQUFBO0FBS0EsYUFBQTtBQ2hHQTs7Ozs7RUFBQTtBQ0dFLDJFQUFBO0FBUUE7RUFDRSxpQkFBQTtFQUNBLDhCQUFBO0FISUo7O0FHSUU7RUFDRSxTQUFBO0FIREo7O0FHT0U7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QUhKSjs7QUdhRTtFQUNFLCtCQUFBO1VBQUEsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7QUhWSjs7QUdnQkU7RUFDRSxpQ0FBQTtFQUNBLGNBQUE7QUhiSjs7QUdxQkU7RUFDRSw2QkFBQTtBSGxCSjs7QUd3QkU7RUFDRSxnQkFBQTtFQUNBLHlDQUFBO1VBQUEsaUNBQUE7QUhyQko7O0FHMEJFOztFQUVFLG1CQUFBO0FIdkJKOztBRzZCRTs7O0VBR0UsaUNBQUE7RUFDQSxjQUFBO0FIMUJKOztBRytCRTtFQUNFLGNBQUE7QUg1Qko7O0FHa0NFOztFQUVFLGNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTtBSC9CSjs7QUdrQ0U7RUFDRSxlQUFBO0FIL0JKOztBR2tDRTtFQUNFLFdBQUE7QUgvQko7O0FHdUNFO0VBQ0Usa0JBQUE7QUhwQ0o7O0FHNkNFOzs7OztFQUtFLG9CQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtBSDFDSjs7QUdnREU7O0VBRUUsaUJBQUE7QUg3Q0o7O0FHbURFOztFQUVFLG9CQUFBO0FIaERKOztBR3FERTs7OztFQUlFLDBCQUFBO0FIbERKOztBR3VERTs7OztFQUlFLGtCQUFBO0VBQ0EsVUFBQTtBSHBESjs7QUd5REU7Ozs7RUFJRSw4QkFBQTtBSHRESjs7QUcyREU7RUFDRSw4QkFBQTtBSHhESjs7QUdnRUU7RUFDRSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0FIN0RKOztBR2tFRTtFQUNFLHdCQUFBO0FIL0RKOztBR29FRTtFQUNFLGNBQUE7QUhqRUo7O0FHdUVFOztFQUVFLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxVQUFBO0FIcEVKOztBR3lFRTs7RUFFRSxZQUFBO0FIdEVKOztBRzRFRTtFQUNFLDZCQUFBO0VBQ0Esb0JBQUE7QUh6RUo7O0FHOEVFO0VBQ0Usd0JBQUE7QUgzRUo7O0FHaUZFO0VBQ0UsMEJBQUE7RUFDQSxhQUFBO0FIOUVKOztBR3NGRTtFQUNFLGNBQUE7QUhuRko7O0FHd0ZFO0VBQ0Usa0JBQUE7QUhyRko7O0FHNkZFO0VBQ0UsYUFBQTtBSDFGSjs7QUcrRkU7RUFDRSxhQUFBO0FINUZKOztBR29HSTs7Ozs7OztFQUNFLGFBQUE7QUgzRk47O0FHZ0dFO0VBQ0UsMkJBQUE7RUFDQSx5QkFBQTtBSDdGSjs7QUkzREU7RUFDRSx3RUFBQTtBSjhESjs7QUkzREU7RUFDRSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsZUhsRmU7QURnSm5COztBSTFERTs7O0VBR0UsMkJBQUE7VUFBQSxtQkFBQTtBSjZESjs7QUl6REU7RUFDRSxTQUFBO0VBQ0EsVUFBQTtFQVVBLG1CSHBHSTtFR3NHSiwrQ0g3RGU7RUc4RGYsZ0JIeERtQjtFR3lEbkIsaUJIM0dnQjtFRzRHaEIsY0gxR0k7RUc2R0YsbUNBQUE7RUFDQSxrQ0FBQTtBSmdETjs7QUk1Q0U7RUFFRSxxQkFBQTtFQUNBLHNCQUFBO0VBR0EsZUFBQTtFQUNBLFlBQUE7RUFDQSwrQkFBQTtBSjRDSjs7QUl4Q0U7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkg5RVk7QUR5SGhCOztBSXZDRTtFQUNFLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JIckZZO0FEK0hoQjs7QUluQ0k7Ozs7OztFQUdFLDBCQUFBO0FKeUNOOztBSXBDRTtFQUVFLFVBQUE7RUFDQSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JIekdZO0VHMEdaLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLFlIdEdtQjtBRDRJdkI7QUtuRUU7RUFDRSxVQUFBO0FMcUVKOztBSXJDRTtFQUNFLGNBQUE7RUFDQSxpQ0FBQTtBSndDSjs7QUlwQ0U7Ozs7O0VBS0Usb0JBQUE7QUp1Q0o7O0FJbkNFO0VBQ0UseUJBQUE7QUpzQ0o7O0FJbkNFO0VBQ0Usd0JBQUE7QUpzQ0o7O0FNeEtFOztFQXJDQSxjQUFBO0VBQ0EsOEJBQUE7VUFBQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSx1QkFMUztFQU1ULDJCQUFBO0VBQ0Esd0JMa1pjO0VLaFpkLHlCTDhZYTtFSzdZYixnQkwyQmM7RUsxQmQseUJMeEJNO0VLeUJOLHNETDhZYTtVSzlZYiw4Q0w4WWE7RUs1WWIsb0JMa1lrQjtFS2pZbEIsMEJMa1lnQjtFS2pZaEIsZ0JMa0JxQjtFS2pCckIsaUJMakNrQjtFS2tDbEIsY0xoQ007RUttQ0osMkVMd1llO0VLeFlmLG1FTHdZZTtFS3hZZiwyREx3WWU7RUt4WWYsb0ZMd1llO0VLblhmLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtBTjBMSjtBTTNNRTs7RUFDRSxhQUFBO0VBQ0EseUJMNlhpQjtFSzVYakIseUJMekNJO0VLMENKLG1DTDhYaUI7VUs5WGpCLDJCTDhYaUI7RUszWGYsMkVMNlhhO0VLN1hiLG1FTDZYYTtFSzdYYiwyREw2WGE7RUs3WGIsb0ZMNlhhO0FEakxuQjs7QU05TEU7RUFDRSxlQUFBO0FOaU1KO0FNL0xJO0VBQ0UsWUFBQTtBTmlNTjs7QU0xTEk7OztFQUVFLHlCTHJFTztFS3NFUCxtQkxnV2tCO0FEbEt4Qjs7QU16TEU7O0VBRUUsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsZ0JML0JZO0FEMk5oQjs7QU14TEU7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WHNiYTtFV3RiYiwyRFhzYmE7RVd0YmIsb0ZYc2JhO0FEbUJuQjtBWXBjRTtFQUNFLHlCWFNTO0VXUlQsbUJYOGFvQjtBRHdCeEI7QVlsY0U7RUFDRSxhQUFBO0Fab2NKO0FZamNFO0VBQ0UsWUFBQTtFQUNBLHNCQUFBO0FabWNKO0FZamNFO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FabWNKOztBYXhlRTtFQUNFLHFCWnFOdUI7RVlwTnZCLHdDQUFBO0FiMmVKO0FhemVJO0VBQ0UsY1ppTnFCO0FEMFIzQjtBYTVlSTtFQUNFLGNaaU5xQjtBRDBSM0I7QWE1ZUk7RUFDRSxjWmlOcUI7QUQwUjNCO0FhNWVJO0VBQ0UsY1ppTnFCO0FEMFIzQjtBYTVlSTtFQUNFLGNaaU5xQjtBRDBSM0I7O0FhamRJO0VBQ0UsY1p1THFCO0FENlIzQjs7QWEvY0U7RUF6QkEsYUFBQTtFQUNBLDRCQUFBO0VBQ0EsOEJaMFphO0VZeFpiLDBCWnlNc0I7RVl4TXRCLGdCWjREbUI7RVkzRG5CLGNac01rQjtBRHFTcEI7QWFyZEk7RUFDRSxjQUFBO0FidWROOztBY3pVRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxTQUFBO0VBQ0EsVUFBQTtBZDRVSjs7QWN4VUU7RUFDRSxtQmJwRHNCO0Vhc0R0QixrQkFBQTtFQUNBLGlCYjFMZ0I7RWEyTGhCLGtDYnZEdUI7QURpWTNCOztBY3RVRTs7RUFFRSxrQkFBQTtFQUNBLG9CQUFBO0FkeVVKOztBY3JVRTs7RUFFRSxnQmJwSmlCO0VhcUpqQixvQkFBQTtBZHdVSjs7QWNwVUU7RUFDRSxjYjlFYztFYStFZCxvQkFBQTtBZHVVSjs7QWNuVUU7Ozs7OztFQU1FLCtDYjdLZTtFYThLZixrQmJsSGdCO0VhbUhoQixnQmJ2S2lCO0Vhd0tqQixjYjFOSTtFYTJOSixrQ2I5Rm9CO0FEb2F4QjtBY3BVSTs7Ozs7O0VBQ0UsY0FBQTtFQUNBLGNiMU5RO0FEcWlCZDs7QWNsVVE7RUFJSSwwQkFEaUI7RUFhakIsZ0JBQUE7RUFRQSxhQUFBO0VBT0EscUJBQUE7QWQwU1o7O0FjelVRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHFCQUFBO0FkaVRaOztBY2hWUTtFQUlJLDBCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBZHdUWjs7QWN2VlE7RUFJSSwwQkFEaUI7RUFhakIsZ0JBQUE7RUFRQSxhQUFBO0VBT0EscUJBQUE7QWQrVFo7O0FjOVZRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHFCQUFBO0Fkc1VaOztBY3JXUTtFQUlJLDBCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBZDZVWjs7QWV4ZVE7RUQ0SEE7SUFJSSwwQkFEaUI7RWQ4VzNCO0VjalhNO0lBSUksMEJBRGlCO0VkaVgzQjtFY3BYTTtJQUlJLDBCQURpQjtFZG9YM0I7RWN2WE07SUFJSSwwQkFEaUI7RWR1WDNCO0VjMVhNO0lBSUksMEJBRGlCO0VkMFgzQjtFYzdYTTtJQUlJLDBCQURpQjtFZDZYM0I7QUFDRjtBYzFWRTtFQUNFLG9CQUFBO0VBQ0EsY2JqUkk7RWFrUkoscUJiNUlxQjtFYThJckIsZUFBQTtBZDJWSjtBY3pWSTtFQUVFLFlibkplO0FENmVyQjtBY3BWSTtFQUNFLFNBQUE7QWRzVk47O0FjalZFO0VBQ0UsV0FBQTtFQUVBLDJCYjFTVztFYTJTWCxTQUFBO0VBQ0EsNEJiL0pRO0VhaUtSLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0NicEtRO0VhcUtSLGNBQUE7QWRrVko7O0FjOVVFOzs7RUFHRSxtQmJwTHNCO0VhcUx0Qiw0QmJ4S2tCO0VheUtsQixpQmJ6VGdCO0FEMG9CcEI7O0FjN1VFO0VBQ0Usa0JBQUE7QWRnVko7O0FjNVVFO0VBQ0Usb0JibExlO0VhbUxmLHFCYnJMYztBRG9nQmxCOztBYzNVRTtFQUNFLG9CYnhMZTtBRHNnQm5COztBY3pVSTtFQUNFLG9CYjdMb0I7RWE4THBCLGdCQUFBO0FkNFVOOztBY3ZVRTtFQUNFLG1CYm5NcUI7QUQ2Z0J6QjtBY3hVSTtFQUNFLHFCYnBNd0I7RWFxTXhCLGdCYnRTZTtBRGduQnJCOztBY3JVRTtFQUNFLGdCQUFBO0VBQ0EsMERiMU1pQjtFYTJNakIsOEJiMU1nQjtBRGtoQnBCO0FjdFVJO0VBQ0UsaUJicldjO0Vhc1dkLGNiOVZNO0FEc3FCWjs7QWMxVEU7RUFDRSxpQ2J0TmE7RWF1TmIsWUFBQTtFQUNBLHFCQUFBO0FkNlRKOztBY3pURTtFQUNFLFNBQUE7QWQ0VEo7O0FjalRFO0VBQ0UsU0FBQTtFQUNBLDBDYjVPZ0I7RWE4T2hCLHlCYnJZUztFYXVZVCw0RGJwU29CO0VhcVNwQixjYjVZSTtBRDhyQlI7O0FnQmhvQkU7RUFDRSxrQmZ3R21CO0VldkduQixxQmZ3R3NCO0VldEd0QixnQmZsQm1CO0VlbUJuQixnQmZpR21CO0VlaEduQixjZjlEUTtBRGdzQlo7O0FnQjluQkU7RUFDRSxpQmZ5RmE7RWV4RmIsZ0JmeUZjO0FEd2lCbEI7O0FnQjduQkU7RUFDRSxpQmYwRmE7RWV6RmIsY0FBQTtBaEJnb0JKO0FnQjluQkk7RUFDRSxpQkFBQTtBaEJnb0JOOztBZ0IxbkJJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FoQjZuQk47O0FnQnpuQkU7RUFqRkEsY0FBQTtFQUNBLGNmVFU7RWVVViwwQmYySmU7QURtakJqQjtBZ0I1c0JFO0VBQ0UsYWZ5SmtCO0FEcWpCdEI7O0FnQjFuQkU7RUE3RUEseUJmdUpZO0VldEpaLHlCZnZCVztFZXlCWCw0RGYwRXNCO0VlekV0QixnQmZrQnFCO0VlakJyQixjZi9CTTtFZXFDTixlQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBRUEsd0RmeUlhO0FEMmpCZjs7QWdCN25CRTtFQXRGQSx5QmZ1Slk7RWV0SloseUJmdkJXO0VleUJYLDREZjBFc0I7RWV6RXRCLGdCZmtCcUI7RWVqQnJCLGNmL0JNO0VlK0NOLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSxhZmdJbUI7RWUvSG5CLHFCZmdJeUI7QURza0IzQjs7QWlCbnpCVTtFQUNFLGdCQVJVO0FqQjh6QnRCOztBaUJ2ekJVO0VBQ0UsaUJBUlU7QWpCazBCdEI7O0FpQjN6QlU7RUFDRSxrQkFS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REYsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QXRCMjRCRjs7QW1CbDdCTTtFR2tGRixvQkFUTTtBdEI2MkJWOztBbUJ0N0JNO0VHa0ZGLHFCQVRNO0F0QmkzQlY7O0FtQjE3Qk07RUdrRkYsVUFUTTtBdEJxM0JWOztBbUI5N0JNO0VHa0ZGLHFCQVRNO0F0QnkzQlY7O0FtQmw4Qk07RUdrRkYscUJBVE07QXRCNjNCVjs7QW1CdDhCTTtFR2tGRixVQVRNO0F0Qmk0QlY7O0FtQjE4Qk07RUdrRkYscUJBVE07QXRCcTRCVjs7QW1COThCTTtFR2tGRixxQkFUTTtBdEJ5NEJWOztBbUJsOUJNO0VHa0ZGLFVBVE07QXRCNjRCVjs7QW1CdDlCTTtFR2tGRixxQkFUTTtBdEJpNUJWOztBbUIxOUJNO0VHa0ZGLHFCQVRNO0F0QnE1QlY7O0FtQjk5Qk07RUdrRkYsV0FUTTtBdEJ5NUJWOztBZTE0QlE7RUk1R0Y7SUcyREosbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsV0FUTTtFdEIrNUJSO0VtQnYvQkU7SUdzREYsbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXRCbzhCQTtFbUJwL0JJO0lHMkZGLFdBVE07RXRCcTZCUjtFbUI5K0JJO0lHa0ZGLG9CQVRNO0V0Qnc2QlI7RW1Cai9CSTtJR2tGRixxQkFUTTtFdEIyNkJSO0VtQnAvQkk7SUdrRkYsVUFUTTtFdEI4NkJSO0VtQnYvQkk7SUdrRkYscUJBVE07RXRCaTdCUjtFbUIxL0JJO0lHa0ZGLHFCQVRNO0V0Qm83QlI7RW1CNy9CSTtJR2tGRixVQVRNO0V0QnU3QlI7RW1CaGdDSTtJR2tGRixxQkFUTTtFdEIwN0JSO0VtQm5nQ0k7SUdrRkYscUJBVE07RXRCNjdCUjtFbUJ0Z0NJO0lHa0ZGLFVBVE07RXRCZzhCUjtFbUJ6Z0NJO0lHa0ZGLHFCQVRNO0V0Qm04QlI7RW1CNWdDSTtJR2tGRixxQkFUTTtFdEJzOEJSO0VtQi9nQ0k7SUdrRkYsV0FUTTtFdEJ5OEJSO0FBQ0Y7QWUzN0JRO0VJNUdGO0lHMkRKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RXRCKzhCUjtFbUJ2aUNFO0lHc0RGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V0Qm8vQkE7RW1CcGlDSTtJRzJGRixXQVRNO0V0QnE5QlI7RW1COWhDSTtJR2tGRixvQkFUTTtFdEJ3OUJSO0VtQmppQ0k7SUdrRkYscUJBVE07RXRCMjlCUjtFbUJwaUNJO0lHa0ZGLFVBVE07RXRCODlCUjtFbUJ2aUNJO0lHa0ZGLHFCQVRNO0V0QmkrQlI7RW1CMWlDSTtJR2tGRixxQkFUTTtFdEJvK0JSO0VtQjdpQ0k7SUdrRkYsVUFUTTtFdEJ1K0JSO0VtQmhqQ0k7SUdrRkYscUJBVE07RXRCMCtCUjtFbUJuakNJO0lHa0ZGLHFCQVRNO0V0QjYrQlI7RW1CdGpDSTtJR2tGRixVQVRNO0V0QmcvQlI7RW1CempDSTtJR2tGRixxQkFUTTtFdEJtL0JSO0VtQjVqQ0k7SUdrRkYscUJBVE07RXRCcy9CUjtFbUIvakNJO0lHa0ZGLFdBVE07RXRCeS9CUjtBQUNGO0FtQjNqQ0U7RUFDRSxXQUFBO0FuQjZqQ0o7O0FtQnpqQ0U7RUFDRSxZQUFBO0FuQjRqQ0o7O0FtQjloQ0U7RUN2R00sNkJBQUE7RUFBQSw4QkFBQTtBcEIwb0NSO0Fldi9CUTtFSTVDTjtJQ3ZHTSw2QkFBQTtJQUFBLDhCQUFBO0VwQitvQ047QUFDRjtBbUJyaUNJO0VHa0NBLG1DQVRNO0VGM0hKLDRCQUFBO0VBQUEsNkJBQUE7QXBCNG9DTjtBZWxnQ1E7RUlqQ0E7SUcyQkosbUNBVE07SUYzSEosNEJBQUE7SUFBQSw2QkFBQTtFcEJrcENKO0FBQ0Y7QW1CN2tDRTtFRzhERSxXQVRNO0F0QjJoQ1Y7QW1CNWtDRTtFRzBERSxXQVRNO0F0QjhoQ1Y7QW1CdmtDSTtFR2tEQSw0Q0FUTTtBdEJpaUNWO0FtQjFrQ0k7RUdrREEsNkNBVE07QXRCb2lDVjtBbUI3a0NJO0VHa0RBLGtDQVRNO0F0QnVpQ1Y7QW1CaGxDSTtFR2tEQSw2Q0FUTTtBdEIwaUNWO0FtQm5sQ0k7RUdrREEsNkNBVE07QXRCNmlDVjtBbUJ0bENJO0VHa0RBLGtDQVRNO0F0QmdqQ1Y7QW1CemxDSTtFR2tEQSw2Q0FUTTtBdEJtakNWO0FtQjVsQ0k7RUdrREEsNkNBVE07QXRCc2pDVjtBbUIvbENJO0VHa0RBLGtDQVRNO0F0QnlqQ1Y7QW1CbG1DSTtFR2tEQSw2Q0FUTTtBdEI0akNWO0FtQnJtQ0k7RUdrREEsNkNBVE07QXRCK2pDVjtBbUJ4bUNJO0VHa0RBLG1DQVRNO0F0QmtrQ1Y7QWVuakNRO0VJcEVOO0lHOERFLFdBVE07RXRCc2tDUjtFbUJ2bkNBO0lHMERFLFdBVE07RXRCeWtDUjtFbUJsbkNFO0lHa0RBLDRDQVRNO0V0QjRrQ1I7RW1Ccm5DRTtJR2tEQSw2Q0FUTTtFdEIra0NSO0VtQnhuQ0U7SUdrREEsa0NBVE07RXRCa2xDUjtFbUIzbkNFO0lHa0RBLDZDQVRNO0V0QnFsQ1I7RW1COW5DRTtJR2tEQSw2Q0FUTTtFdEJ3bENSO0VtQmpvQ0U7SUdrREEsa0NBVE07RXRCMmxDUjtFbUJwb0NFO0lHa0RBLDZDQVRNO0V0QjhsQ1I7RW1Cdm9DRTtJR2tEQSw2Q0FUTTtFdEJpbUNSO0VtQjFvQ0U7SUdrREEsa0NBVE07RXRCb21DUjtFbUI3b0NFO0lHa0RBLDZDQVRNO0V0QnVtQ1I7RW1CaHBDRTtJR2tEQSw2Q0FUTTtFdEIwbUNSO0VtQm5wQ0U7SUdrREEsbUNBVE07RXRCNm1DUjtFbUJscUNBO0lHOERFLFdBVE07RXRCZ25DUjtFbUJqcUNBO0lHMERFLFdBVE07RXRCbW5DUjtFbUI1cENFO0lHa0RBLDRDQVRNO0V0QnNuQ1I7RW1CL3BDRTtJR2tEQSw2Q0FUTTtFdEJ5bkNSO0VtQmxxQ0U7SUdrREEsa0NBVE07RXRCNG5DUjtFbUJycUNFO0lHa0RBLDZDQVRNO0V0QituQ1I7RW1CeHFDRTtJR2tEQSw2Q0FUTTtFdEJrb0NSO0VtQjNxQ0U7SUdrREEsa0NBVE07RXRCcW9DUjtFbUI5cUNFO0lHa0RBLDZDQVRNO0V0QndvQ1I7RW1CanJDRTtJR2tEQSw2Q0FUTTtFdEIyb0NSO0VtQnByQ0U7SUdrREEsa0NBVE07RXRCOG9DUjtFbUJ2ckNFO0lHa0RBLDZDQVRNO0V0QmlwQ1I7RW1CMXJDRTtJR2tEQSw2Q0FUTTtFdEJvcENSO0VtQjdyQ0U7SUdrREEsbUNBVE07RXRCdXBDUjtBQUNGO0Flem9DUTtFSXBFTjtJRzhERSxXQVRNO0V0QjRwQ1I7RW1CN3NDQTtJRzBERSxXQVRNO0V0QitwQ1I7RW1CeHNDRTtJR2tEQSw0Q0FUTTtFdEJrcUNSO0VtQjNzQ0U7SUdrREEsNkNBVE07RXRCcXFDUjtFbUI5c0NFO0lHa0RBLGtDQVRNO0V0QndxQ1I7RW1CanRDRTtJR2tEQSw2Q0FUTTtFdEIycUNSO0VtQnB0Q0U7SUdrREEsNkNBVE07RXRCOHFDUjtFbUJ2dENFO0lHa0RBLGtDQVRNO0V0QmlyQ1I7RW1CMXRDRTtJR2tEQSw2Q0FUTTtFdEJvckNSO0VtQjd0Q0U7SUdrREEsNkNBVE07RXRCdXJDUjtFbUJodUNFO0lHa0RBLGtDQVRNO0V0QjByQ1I7RW1CbnVDRTtJR2tEQSw2Q0FUTTtFdEI2ckNSO0VtQnR1Q0U7SUdrREEsNkNBVE07RXRCZ3NDUjtFbUJ6dUNFO0lHa0RBLG1DQVRNO0V0Qm1zQ1I7QUFDRjs7QW1CMXJDSTtFQzlJSSw4QkFBQTtFQUFBLDZCQUFBO0FwQjYwQ1I7QWUxckNRO0VJTEo7SUM5SUksOEJBQUE7SUFBQSw2QkFBQTtFcEJrMUNOO0FBQ0Y7QW1CL3JDSTtFQ3BKSSw4QkFBQTtFQUFBLDZCQUFBO0FwQnUxQ1I7QWVwc0NRO0VJQ0o7SUNwSkksOEJBQUE7SUFBQSw2QkFBQTtFcEI0MUNOO0FBQ0Y7QW1CcHNDSTtFQ3pKSSw4QkFBQTtFQUFBLDZCQUFBO0FwQmkyQ1I7QWU5c0NRO0VJTUo7SUN6SkksOEJBQUE7SUFBQSw2QkFBQTtFcEJzMkNOO0FBQ0Y7O0F1QnYyQ0U7RUQ2SUUsV0FUTTtBdEJ1dUNWOztBdUIzMkNFO0VENklFLFVBVE07QXRCMnVDVjs7QXVCLzJDRTtFRDZJRSxxQkFUTTtBdEIrdUNWOztBdUJuM0NFO0VENklFLFVBVE07QXRCbXZDVjs7QXVCdjNDRTtFRDZJRSxVQVRNO0F0QnV2Q1Y7O0F1QjMzQ0U7RUQ2SUUscUJBVE07QXRCMnZDVjs7QXVCLzNDRTtFRDZJRSxxQkFUTTtBdEIrdkNWOztBdUJuNENFO0VENklFLFlBVE07QXRCbXdDVjs7QWVwdkNRO0VRbkpOO0lENklFLFdBVE07RXRCd3dDUjtFdUI1NENBO0lENklFLFVBVE07RXRCMndDUjtFdUIvNENBO0lENklFLHFCQVRNO0V0Qjh3Q1I7RXVCbDVDQTtJRDZJRSxVQVRNO0V0Qml4Q1I7RXVCcjVDQTtJRDZJRSxVQVRNO0V0Qm94Q1I7RXVCeDVDQTtJRDZJRSxxQkFUTTtFdEJ1eENSO0V1QjM1Q0E7SUQ2SUUscUJBVE07RXRCMHhDUjtFdUI5NUNBO0lENklFLFlBVE07RXRCNnhDUjtBQUNGO0FlL3dDUTtFUW5KTjtJRDZJRSxXQVRNO0V0Qmt5Q1I7RXVCdDZDQTtJRDZJRSxVQVRNO0V0QnF5Q1I7RXVCejZDQTtJRDZJRSxxQkFUTTtFdEJ3eUNSO0V1QjU2Q0E7SUQ2SUUsVUFUTTtFdEIyeUNSO0V1Qi82Q0E7SUQ2SUUsVUFUTTtFdEI4eUNSO0V1Qmw3Q0E7SUQ2SUUscUJBVE07RXRCaXpDUjtFdUJyN0NBO0lENklFLHFCQVRNO0V0Qm96Q1I7RXVCeDdDQTtJRDZJRSxZQVRNO0V0QnV6Q1I7QUFDRjtBdUI1N0NFO0VENklFLG1DQVRNO0F0QjJ6Q1Y7O0F1Qi83Q0U7RUQ2SUUsa0NBVE07QXRCK3pDVjs7QXVCbjhDRTtFRDZJRSw2Q0FUTTtBdEJtMENWOztBdUJ2OENFO0VENklFLGtDQVRNO0F0QnUwQ1Y7O0F1QjM4Q0U7RUQ2SUUsa0NBVE07QXRCMjBDVjs7QXVCLzhDRTtFRDZJRSw2Q0FUTTtBdEIrMENWOztBdUJuOUNFO0VENklFLDZDQVRNO0F0Qm0xQ1Y7O0F1QnY5Q0U7RUQ2SUUsb0NBVE07QXRCdTFDVjs7QWV4MENRO0VRbkpOO0lENklFLG1DQVRNO0V0QjQxQ1I7RXVCaCtDQTtJRDZJRSxrQ0FUTTtFdEIrMUNSO0V1Qm4rQ0E7SUQ2SUUsNkNBVE07RXRCazJDUjtFdUJ0K0NBO0lENklFLGtDQVRNO0V0QnEyQ1I7RXVCeitDQTtJRDZJRSxrQ0FUTTtFdEJ3MkNSO0V1QjUrQ0E7SUQ2SUUsNkNBVE07RXRCMjJDUjtFdUIvK0NBO0lENklFLDZDQVRNO0V0QjgyQ1I7RXVCbC9DQTtJRDZJRSxvQ0FUTTtFdEJpM0NSO0V1QnIvQ0E7SUQ2SUUsbUNBVE07RXRCbzNDUjtFdUJ4L0NBO0lENklFLGtDQVRNO0V0QnUzQ1I7RXVCMy9DQTtJRDZJRSw2Q0FUTTtFdEIwM0NSO0V1QjkvQ0E7SUQ2SUUsa0NBVE07RXRCNjNDUjtFdUJqZ0RBO0lENklFLGtDQVRNO0V0Qmc0Q1I7RXVCcGdEQTtJRDZJRSw2Q0FUTTtFdEJtNENSO0V1QnZnREE7SUQ2SUUsNkNBVE07RXRCczRDUjtFdUIxZ0RBO0lENklFLG9DQVRNO0V0Qnk0Q1I7QUFDRjtBZTMzQ1E7RVFuSk47SUQ2SUUsbUNBVE07RXRCODRDUjtFdUJsaERBO0lENklFLGtDQVRNO0V0Qmk1Q1I7RXVCcmhEQTtJRDZJRSw2Q0FUTTtFdEJvNUNSO0V1QnhoREE7SUQ2SUUsa0NBVE07RXRCdTVDUjtFdUIzaERBO0lENklFLGtDQVRNO0V0QjA1Q1I7RXVCOWhEQTtJRDZJRSw2Q0FUTTtFdEI2NUNSO0V1QmppREE7SUQ2SUUsNkNBVE07RXRCZzZDUjtFdUJwaURBO0lENklFLG9DQVRNO0V0Qm02Q1I7QUFDRjtBbUJqMkNNO0VLOU1FLGVBQUE7RUFBQSxjQUFBO0F4Qm1qRFI7QXdCaGpETTtFQUVJLGVBQUE7RUFBQSxjQUFBO0F4QmtqRFY7QXdCNWhEWTtFRnlIUixvQkFUTTtBdEIrNkNWO0F3Qi9oRFk7RUZ5SFIscUJBVE07QXRCazdDVjtBd0JsaURZO0VGeUhSLFVBVE07QXRCcTdDVjtBd0JyaURZO0VGeUhSLHFCQVRNO0F0Qnc3Q1Y7QXdCeGlEWTtFRnlIUixxQkFUTTtBdEIyN0NWO0F3QjNpRFk7RUZ5SFIsVUFUTTtBdEI4N0NWO0F3QjlpRFk7RUZ5SFIscUJBVE07QXRCaThDVjtBd0JqakRZO0VGeUhSLHFCQVRNO0F0Qm84Q1Y7QXdCcGpEWTtFRnlIUixVQVRNO0F0QnU4Q1Y7QXdCdmpEWTtFRnlIUixxQkFUTTtBdEIwOENWO0F3QjFqRFk7RUZ5SFIscUJBVE07QXRCNjhDVjtBd0I3akRZO0VGeUhSLFdBVE07QXRCZzlDVjtBZWo4Q1E7RVMvSEk7SUZ5SFIsb0JBVE07RXRCbzlDUjtFd0Jwa0RVO0lGeUhSLHFCQVRNO0V0QnU5Q1I7RXdCdmtEVTtJRnlIUixVQVRNO0V0QjA5Q1I7RXdCMWtEVTtJRnlIUixxQkFUTTtFdEI2OUNSO0V3QjdrRFU7SUZ5SFIscUJBVE07RXRCZytDUjtFd0JobERVO0lGeUhSLFVBVE07RXRCbStDUjtFd0JubERVO0lGeUhSLHFCQVRNO0V0QnMrQ1I7RXdCdGxEVTtJRnlIUixxQkFUTTtFdEJ5K0NSO0V3QnpsRFU7SUZ5SFIsVUFUTTtFdEI0K0NSO0V3QjVsRFU7SUZ5SFIscUJBVE07RXRCKytDUjtFd0IvbERVO0lGeUhSLHFCQVRNO0V0QmsvQ1I7RXdCbG1EVTtJRnlIUixXQVRNO0V0QnEvQ1I7QUFDRjtBZXYrQ1E7RVMvSEk7SUZ5SFIsb0JBVE07RXRCMC9DUjtFd0IxbURVO0lGeUhSLHFCQVRNO0V0QjYvQ1I7RXdCN21EVTtJRnlIUixVQVRNO0V0QmdnRFI7RXdCaG5EVTtJRnlIUixxQkFUTTtFdEJtZ0RSO0V3Qm5uRFU7SUZ5SFIscUJBVE07RXRCc2dEUjtFd0J0bkRVO0lGeUhSLFVBVE07RXRCeWdEUjtFd0J6bkRVO0lGeUhSLHFCQVRNO0V0QjRnRFI7RXdCNW5EVTtJRnlIUixxQkFUTTtFdEIrZ0RSO0V3Qi9uRFU7SUZ5SFIsVUFUTTtFdEJraERSO0V3QmxvRFU7SUZ5SFIscUJBVE07RXRCcWhEUjtFd0Jyb0RVO0lGeUhSLHFCQVRNO0V0QndoRFI7RXdCeG9EVTtJRnlIUixXQVRNO0V0QjJoRFI7QUFDRjs7QW1CbjlDTTtFSzdLRSxlQUFBO0VBQUEsY0FBQTtBeEJxb0RSO0F3QmxvRE07RUFFSSxnQkFBQTtFQUFBLGVBQUE7QXhCb29EVjs7QWV0aERRO0VJb0RGO0lLOU1FLGVBQUE7SUFBQSxjQUFBO0V4QnNyRE47RXdCbnJESTtJQUVJLGVBQUE7SUFBQSxjQUFBO0V4QnFyRFI7QUFDRjtBZWppRFE7RVN4SUk7SUZrSVIsb0JBVE07RXRCb2pEUjtFd0I3cURVO0lGa0lSLHFCQVRNO0V0QnVqRFI7RXdCaHJEVTtJRmtJUixVQVRNO0V0QjBqRFI7RXdCbnJEVTtJRmtJUixxQkFUTTtFdEI2akRSO0V3QnRyRFU7SUZrSVIscUJBVE07RXRCZ2tEUjtFd0J6ckRVO0lGa0lSLFVBVE07RXRCbWtEUjtFd0I1ckRVO0lGa0lSLHFCQVRNO0V0QnNrRFI7RXdCL3JEVTtJRmtJUixxQkFUTTtFdEJ5a0RSO0V3QmxzRFU7SUZrSVIsVUFUTTtFdEI0a0RSO0V3QnJzRFU7SUZrSVIscUJBVE07RXRCK2tEUjtFd0J4c0RVO0lGa0lSLHFCQVRNO0V0QmtsRFI7RXdCM3NEVTtJRmtJUixXQVRNO0V0QnFsRFI7QUFDRjtBZXZrRFE7RVMvSEk7SUZ5SFIsb0JBVE07RXRCMGxEUjtFd0Ixc0RVO0lGeUhSLHFCQVRNO0V0QjZsRFI7RXdCN3NEVTtJRnlIUixVQVRNO0V0QmdtRFI7RXdCaHREVTtJRnlIUixxQkFUTTtFdEJtbURSO0V3Qm50RFU7SUZ5SFIscUJBVE07RXRCc21EUjtFd0J0dERVO0lGeUhSLFVBVE07RXRCeW1EUjtFd0J6dERVO0lGeUhSLHFCQVRNO0V0QjRtRFI7RXdCNXREVTtJRnlIUixxQkFUTTtFdEIrbURSO0V3Qi90RFU7SUZ5SFIsVUFUTTtFdEJrbkRSO0V3Qmx1RFU7SUZ5SFIscUJBVE07RXRCcW5EUjtFd0JydURVO0lGeUhSLHFCQVRNO0V0QnduRFI7RXdCeHVEVTtJRnlIUixXQVRNO0V0QjJuRFI7QUFDRjtBZTdtRFE7RVMvSEk7SUZ5SFIsb0JBVE07RXRCZ29EUjtFd0JodkRVO0lGeUhSLHFCQVRNO0V0Qm1vRFI7RXdCbnZEVTtJRnlIUixVQVRNO0V0QnNvRFI7RXdCdHZEVTtJRnlIUixxQkFUTTtFdEJ5b0RSO0V3Qnp2RFU7SUZ5SFIscUJBVE07RXRCNG9EUjtFd0I1dkRVO0lGeUhSLFVBVE07RXRCK29EUjtFd0IvdkRVO0lGeUhSLHFCQVRNO0V0QmtwRFI7RXdCbHdEVTtJRnlIUixxQkFUTTtFdEJxcERSO0V3QnJ3RFU7SUZ5SFIsVUFUTTtFdEJ3cERSO0V3Qnh3RFU7SUZ5SFIscUJBVE07RXRCMnBEUjtFd0Izd0RVO0lGeUhSLHFCQVRNO0V0QjhwRFI7RXdCOXdEVTtJRnlIUixXQVRNO0V0QmlxRFI7QUFDRjs7QWVucERRO0VJMERGO0lLN0tFLGVBQUE7SUFBQSxjQUFBO0V4QjR3RE47RXdCendESTtJQUVJLGdCQUFBO0lBQUEsZUFBQTtFeEIyd0RSO0FBQ0Y7O0FlOXBEUTtFSW9ERjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFeEI4ekROO0V3QjN6REk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFeEI2ekRSO0FBQ0Y7QWV6cURRO0VTeElJO0lGa0lSLG9CQVRNO0V0QjRyRFI7RXdCcnpEVTtJRmtJUixxQkFUTTtFdEIrckRSO0V3Qnh6RFU7SUZrSVIsVUFUTTtFdEJrc0RSO0V3QjN6RFU7SUZrSVIscUJBVE07RXRCcXNEUjtFd0I5ekRVO0lGa0lSLHFCQVRNO0V0QndzRFI7RXdCajBEVTtJRmtJUixVQVRNO0V0QjJzRFI7RXdCcDBEVTtJRmtJUixxQkFUTTtFdEI4c0RSO0V3QnYwRFU7SUZrSVIscUJBVE07RXRCaXREUjtFd0IxMERVO0lGa0lSLFVBVE07RXRCb3REUjtFd0I3MERVO0lGa0lSLHFCQVRNO0V0QnV0RFI7RXdCaDFEVTtJRmtJUixxQkFUTTtFdEIwdERSO0V3Qm4xRFU7SUZrSVIsV0FUTTtFdEI2dERSO0FBQ0Y7QWUvc0RRO0VTeElJO0lGa0lSLG9CQVRNO0V0Qmt1RFI7RXdCMzFEVTtJRmtJUixxQkFUTTtFdEJxdURSO0V3QjkxRFU7SUZrSVIsVUFUTTtFdEJ3dURSO0V3QmoyRFU7SUZrSVIscUJBVE07RXRCMnVEUjtFd0JwMkRVO0lGa0lSLHFCQVRNO0V0Qjh1RFI7RXdCdjJEVTtJRmtJUixVQVRNO0V0Qml2RFI7RXdCMTJEVTtJRmtJUixxQkFUTTtFdEJvdkRSO0V3QjcyRFU7SUZrSVIscUJBVE07RXRCdXZEUjtFd0JoM0RVO0lGa0lSLFVBVE07RXRCMHZEUjtFd0JuM0RVO0lGa0lSLHFCQVRNO0V0QjZ2RFI7RXdCdDNEVTtJRmtJUixxQkFUTTtFdEJnd0RSO0V3QnozRFU7SUZrSVIsV0FUTTtFdEJtd0RSO0FBQ0Y7QWVydkRRO0VTL0hJO0lGeUhSLG9CQVRNO0V0Qnd3RFI7RXdCeDNEVTtJRnlIUixxQkFUTTtFdEIyd0RSO0V3QjMzRFU7SUZ5SFIsVUFUTTtFdEI4d0RSO0V3QjkzRFU7SUZ5SFIscUJBVE07RXRCaXhEUjtFd0JqNERVO0lGeUhSLHFCQVRNO0V0Qm94RFI7RXdCcDREVTtJRnlIUixVQVRNO0V0QnV4RFI7RXdCdjREVTtJRnlIUixxQkFUTTtFdEIweERSO0V3QjE0RFU7SUZ5SFIscUJBVE07RXRCNnhEUjtFd0I3NERVO0lGeUhSLFVBVE07RXRCZ3lEUjtFd0JoNURVO0lGeUhSLHFCQVRNO0V0Qm15RFI7RXdCbjVEVTtJRnlIUixxQkFUTTtFdEJzeURSO0V3QnQ1RFU7SUZ5SFIsV0FUTTtFdEJ5eURSO0FBQ0Y7O0FlM3hEUTtFSTBERjtJSzdLRSxlQUFBO0lBQUEsY0FBQTtFeEJvNUROO0V3Qmo1REk7SUFFSSxnQkFBQTtJQUFBLGVBQUE7RXhCbTVEUjtBQUNGOztBbUI5dERNO0VNbk1GLGVBQUE7QXpCcTZESjs7QW1COXRETTtFTXZNRiwyQ0FBQTtBekJ5NkRKOztBbUJ0dURNO0VNbk1GLDBCQUFBO0F6QjY2REo7O0FtQnR1RE07RU12TUYsc0RBQUE7QXpCaTdESjs7QW1COXVETTtFTW5NRiwyQkFBQTtBekJxN0RKOztBbUI5dURNO0VNdk1GLHVEQUFBO0F6Qnk3REo7O0FtQnR2RE07RU1uTUYsZ0JBQUE7QXpCNjdESjs7QW1CdHZETTtFTXZNRiw0Q0FBQTtBekJpOERKOztBbUI5dkRNO0VNbk1GLDJCQUFBO0F6QnE4REo7O0FtQjl2RE07RU12TUYsdURBQUE7QXpCeThESjs7QW1CdHdETTtFTW5NRiwyQkFBQTtBekI2OERKOztBbUJ0d0RNO0VNdk1GLHVEQUFBO0F6Qmk5REo7O0FtQjl3RE07RU1uTUYsZ0JBQUE7QXpCcTlESjs7QW1COXdETTtFTXZNRiw0Q0FBQTtBekJ5OURKOztBbUJ0eERNO0VNbk1GLDJCQUFBO0F6QjY5REo7O0FtQnR4RE07RU12TUYsdURBQUE7QXpCaStESjs7QW1COXhETTtFTW5NRiwyQkFBQTtBekJxK0RKOztBbUI5eERNO0VNdk1GLHVEQUFBO0F6QnkrREo7O0FtQnR5RE07RU1uTUYsZ0JBQUE7QXpCNitESjs7QW1CdHlETTtFTXZNRiw0Q0FBQTtBekJpL0RKOztBbUI5eURNO0VNbk1GLDJCQUFBO0F6QnEvREo7O0FtQjl5RE07RU12TUYsdURBQUE7QXpCeS9ESjs7QW1CdHpETTtFTW5NRiwyQkFBQTtBekI2L0RKOztBbUJ0ekRNO0VNdk1GLHVEQUFBO0F6QmlnRUo7O0FldDREUTtFSXdFRjtJTW5NRixlQUFBO0V6QnNnRUY7RW1CL3pESTtJTXZNRiwyQ0FBQTtFekJ5Z0VGO0VtQnQwREk7SU1uTUYsMEJBQUE7RXpCNGdFRjtFbUJyMERJO0lNdk1GLHNEQUFBO0V6QitnRUY7RW1CNTBESTtJTW5NRiwyQkFBQTtFekJraEVGO0VtQjMwREk7SU12TUYsdURBQUE7RXpCcWhFRjtFbUJsMURJO0lNbk1GLGdCQUFBO0V6QndoRUY7RW1CajFESTtJTXZNRiw0Q0FBQTtFekIyaEVGO0VtQngxREk7SU1uTUYsMkJBQUE7RXpCOGhFRjtFbUJ2MURJO0lNdk1GLHVEQUFBO0V6QmlpRUY7RW1COTFESTtJTW5NRiwyQkFBQTtFekJvaUVGO0VtQjcxREk7SU12TUYsdURBQUE7RXpCdWlFRjtFbUJwMkRJO0lNbk1GLGdCQUFBO0V6QjBpRUY7RW1CbjJESTtJTXZNRiw0Q0FBQTtFekI2aUVGO0VtQjEyREk7SU1uTUYsMkJBQUE7RXpCZ2pFRjtFbUJ6MkRJO0lNdk1GLHVEQUFBO0V6Qm1qRUY7RW1CaDNESTtJTW5NRiwyQkFBQTtFekJzakVGO0VtQi8yREk7SU12TUYsdURBQUE7RXpCeWpFRjtFbUJ0M0RJO0lNbk1GLGdCQUFBO0V6QjRqRUY7RW1CcjNESTtJTXZNRiw0Q0FBQTtFekIrakVGO0VtQjUzREk7SU1uTUYsMkJBQUE7RXpCa2tFRjtFbUIzM0RJO0lNdk1GLHVEQUFBO0V6QnFrRUY7RW1CbDRESTtJTW5NRiwyQkFBQTtFekJ3a0VGO0VtQmo0REk7SU12TUYsdURBQUE7RXpCMmtFRjtBQUNGO0FlajlEUTtFSXdFRjtJTW5NRixlQUFBO0V6QmdsRUY7RW1CejRESTtJTXZNRiwyQ0FBQTtFekJtbEVGO0VtQmg1REk7SU1uTUYsMEJBQUE7RXpCc2xFRjtFbUIvNERJO0lNdk1GLHNEQUFBO0V6QnlsRUY7RW1CdDVESTtJTW5NRiwyQkFBQTtFekI0bEVGO0VtQnI1REk7SU12TUYsdURBQUE7RXpCK2xFRjtFbUI1NURJO0lNbk1GLGdCQUFBO0V6QmttRUY7RW1CMzVESTtJTXZNRiw0Q0FBQTtFekJxbUVGO0VtQmw2REk7SU1uTUYsMkJBQUE7RXpCd21FRjtFbUJqNkRJO0lNdk1GLHVEQUFBO0V6QjJtRUY7RW1CeDZESTtJTW5NRiwyQkFBQTtFekI4bUVGO0VtQnY2REk7SU12TUYsdURBQUE7RXpCaW5FRjtFbUI5NkRJO0lNbk1GLGdCQUFBO0V6Qm9uRUY7RW1CNzZESTtJTXZNRiw0Q0FBQTtFekJ1bkVGO0VtQnA3REk7SU1uTUYsMkJBQUE7RXpCMG5FRjtFbUJuN0RJO0lNdk1GLHVEQUFBO0V6QjZuRUY7RW1CMTdESTtJTW5NRiwyQkFBQTtFekJnb0VGO0VtQno3REk7SU12TUYsdURBQUE7RXpCbW9FRjtFbUJoOERJO0lNbk1GLGdCQUFBO0V6QnNvRUY7RW1CLzdESTtJTXZNRiw0Q0FBQTtFekJ5b0VGO0VtQnQ4REk7SU1uTUYsMkJBQUE7RXpCNG9FRjtFbUJyOERJO0lNdk1GLHVEQUFBO0V6QitvRUY7RW1CNThESTtJTW5NRiwyQkFBQTtFekJrcEVGO0VtQjM4REk7SU12TUYsdURBQUE7RXpCcXBFRjtBQUNGO0FtQjc3REU7RUUvT0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtBckIrcUVGO0FtQjc3REk7RUdySUYsWUFBQTtFQUNBLGdCQUFBO0F0QnFrRUY7QW1CNzdESTtFRzVHQSxZQVRNO0F0QnFqRVY7QW1CNTdESTtFR2hIQSxZQVRNO0F0QndqRVY7QW1CajdETTtFQUNFLDZCQUFBO01BQUEsZ0JBQUE7QW5CbTdEUjtBZTVpRVE7RUl3SEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VuQnU3RE47QUFDRjtBZWpqRVE7RUl3SEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VuQjQ3RE47QUFDRjtBbUJqN0RNO0VHdExKLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0F0QjBtRUY7QW1CcjZEUTtFRzFKSixxQkFUTTtBdEIya0VWO0FtQng2RFE7RUcxSkosc0JBVE07QXRCOGtFVjtBbUIzNkRRO0VHMUpKLFdBVE07QXRCaWxFVjtBbUI5NkRRO0VHMUpKLHNCQVRNO0F0Qm9sRVY7QW1CajdEUTtFRzFKSixzQkFUTTtBdEJ1bEVWO0FtQnA3RFE7RUcxSkosV0FUTTtBdEIwbEVWO0FtQnY3RFE7RUcxSkosc0JBVE07QXRCNmxFVjtBbUIxN0RRO0VHMUpKLHNCQVRNO0F0QmdtRVY7QW1CNzdEUTtFRzFKSixXQVRNO0F0Qm1tRVY7QW1CaDhEUTtFRzFKSixzQkFUTTtBdEJzbUVWO0FtQm44RFE7RUcxSkosc0JBVE07QXRCeW1FVjtBbUJ0OERRO0VHMUpKLFlBVE07QXRCNG1FVjtBZTdsRVE7RUlnSUE7SUdqTE4sbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsWUFUTTtFdEJpbkVSO0VtQjc5REk7SUd0TEosbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXRCc3BFQTtFbUIxOURNO0lHakpKLFlBVE07RXRCdW5FUjtFbUJwOURNO0lHMUpKLHFCQVRNO0V0QjBuRVI7RW1CdjlETTtJRzFKSixzQkFUTTtFdEI2bkVSO0VtQjE5RE07SUcxSkosV0FUTTtFdEJnb0VSO0VtQjc5RE07SUcxSkosc0JBVE07RXRCbW9FUjtFbUJoK0RNO0lHMUpKLHNCQVRNO0V0QnNvRVI7RW1CbitETTtJRzFKSixXQVRNO0V0QnlvRVI7RW1CdCtETTtJRzFKSixzQkFUTTtFdEI0b0VSO0VtQnorRE07SUcxSkosc0JBVE07RXRCK29FUjtFbUI1K0RNO0lHMUpKLFdBVE07RXRCa3BFUjtFbUIvK0RNO0lHMUpKLHNCQVRNO0V0QnFwRVI7RW1CbC9ETTtJRzFKSixzQkFUTTtFdEJ3cEVSO0VtQnIvRE07SUcxSkosWUFUTTtFdEIycEVSO0FBQ0Y7QWU3b0VRO0VJZ0lBO0lHakxOLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFlBVE07RXRCaXFFUjtFbUI3Z0VJO0lHdExKLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V0QnNzRUE7RW1CMWdFTTtJR2pKSixZQVRNO0V0QnVxRVI7RW1CcGdFTTtJRzFKSixxQkFUTTtFdEIwcUVSO0VtQnZnRU07SUcxSkosc0JBVE07RXRCNnFFUjtFbUIxZ0VNO0lHMUpKLFdBVE07RXRCZ3JFUjtFbUI3Z0VNO0lHMUpKLHNCQVRNO0V0Qm1yRVI7RW1CaGhFTTtJRzFKSixzQkFUTTtFdEJzckVSO0VtQm5oRU07SUcxSkosV0FUTTtFdEJ5ckVSO0VtQnRoRU07SUcxSkosc0JBVE07RXRCNHJFUjtFbUJ6aEVNO0lHMUpKLHNCQVRNO0V0QityRVI7RW1CNWhFTTtJRzFKSixXQVRNO0V0QmtzRVI7RW1CL2hFTTtJRzFKSixzQkFUTTtFdEJxc0VSO0VtQmxpRU07SUcxSkosc0JBVE07RXRCd3NFUjtFbUJyaUVNO0lHMUpKLFlBVE07RXRCMnNFUjtBQUNGOztBbUI3aEVNO0VDblRFLDRCQUFBO0VBQUEsK0JBQUE7QXBCcTFFUjtBZWxzRVE7RUlnS0Y7SUNuVEUsNEJBQUE7SUFBQSwrQkFBQTtFcEIwMUVOO0FBQ0Y7QW1CbmlFTTtFQ3hURSw0QkFBQTtFQUFBLCtCQUFBO0FwQisxRVI7QWU1c0VRO0VJcUtGO0lDeFRFLDRCQUFBO0lBQUEsK0JBQUE7RXBCbzJFTjtBQUNGOztBbUI5dkVFO0VDdkdNLDRCQUFBO0VBQUEsK0JBQUE7QXBCMDJFUjtBZXZ0RVE7RUk1Q047SUN2R00sNEJBQUE7SUFBQSwrQkFBQTtFcEIrMkVOO0FBQ0Y7QW1CcndFSTtFR2tDQSxvQ0FUTTtFRjNISiwyQkFBQTtFQUFBLDhCQUFBO0FwQjQyRU47QWVsdUVRO0VJakNBO0lHMkJKLG9DQVRNO0lGM0hKLDJCQUFBO0lBQUEsOEJBQUE7RXBCazNFSjtBQUNGO0FtQjd5RUU7RUc4REUsWUFUTTtBdEIydkVWO0FtQjV5RUU7RUcwREUsWUFUTTtBdEI4dkVWO0FtQnZ5RUk7RUdrREEsNkNBVE07QXRCaXdFVjtBbUIxeUVJO0VHa0RBLDhDQVRNO0F0Qm93RVY7QW1CN3lFSTtFR2tEQSxtQ0FUTTtBdEJ1d0VWO0FtQmh6RUk7RUdrREEsOENBVE07QXRCMHdFVjtBbUJuekVJO0VHa0RBLDhDQVRNO0F0QjZ3RVY7QW1CdHpFSTtFR2tEQSxtQ0FUTTtBdEJneEVWO0FtQnp6RUk7RUdrREEsOENBVE07QXRCbXhFVjtBbUI1ekVJO0VHa0RBLDhDQVRNO0F0QnN4RVY7QW1CL3pFSTtFR2tEQSxtQ0FUTTtBdEJ5eEVWO0FtQmwwRUk7RUdrREEsOENBVE07QXRCNHhFVjtBbUJyMEVJO0VHa0RBLDhDQVRNO0F0Qit4RVY7QW1CeDBFSTtFR2tEQSxvQ0FUTTtBdEJreUVWO0FlbnhFUTtFSXBFTjtJRzhERSxZQVRNO0V0QnN5RVI7RW1CdjFFQTtJRzBERSxZQVRNO0V0Qnl5RVI7RW1CbDFFRTtJR2tEQSw2Q0FUTTtFdEI0eUVSO0VtQnIxRUU7SUdrREEsOENBVE07RXRCK3lFUjtFbUJ4MUVFO0lHa0RBLG1DQVRNO0V0Qmt6RVI7RW1CMzFFRTtJR2tEQSw4Q0FUTTtFdEJxekVSO0VtQjkxRUU7SUdrREEsOENBVE07RXRCd3pFUjtFbUJqMkVFO0lHa0RBLG1DQVRNO0V0QjJ6RVI7RW1CcDJFRTtJR2tEQSw4Q0FUTTtFdEI4ekVSO0VtQnYyRUU7SUdrREEsOENBVE07RXRCaTBFUjtFbUIxMkVFO0lHa0RBLG1DQVRNO0V0Qm8wRVI7RW1CNzJFRTtJR2tEQSw4Q0FUTTtFdEJ1MEVSO0VtQmgzRUU7SUdrREEsOENBVE07RXRCMDBFUjtFbUJuM0VFO0lHa0RBLG9DQVRNO0V0QjYwRVI7RW1CbDRFQTtJRzhERSxZQVRNO0V0QmcxRVI7RW1CajRFQTtJRzBERSxZQVRNO0V0Qm0xRVI7RW1CNTNFRTtJR2tEQSw2Q0FUTTtFdEJzMUVSO0VtQi8zRUU7SUdrREEsOENBVE07RXRCeTFFUjtFbUJsNEVFO0lHa0RBLG1DQVRNO0V0QjQxRVI7RW1CcjRFRTtJR2tEQSw4Q0FUTTtFdEIrMUVSO0VtQng0RUU7SUdrREEsOENBVE07RXRCazJFUjtFbUIzNEVFO0lHa0RBLG1DQVRNO0V0QnEyRVI7RW1COTRFRTtJR2tEQSw4Q0FUTTtFdEJ3MkVSO0VtQmo1RUU7SUdrREEsOENBVE07RXRCMjJFUjtFbUJwNUVFO0lHa0RBLG1DQVRNO0V0QjgyRVI7RW1CdjVFRTtJR2tEQSw4Q0FUTTtFdEJpM0VSO0VtQjE1RUU7SUdrREEsOENBVE07RXRCbzNFUjtFbUI3NUVFO0lHa0RBLG9DQVRNO0V0QnUzRVI7QUFDRjtBZXoyRVE7RUlwRU47SUc4REUsWUFUTTtFdEI0M0VSO0VtQjc2RUE7SUcwREUsWUFUTTtFdEIrM0VSO0VtQng2RUU7SUdrREEsNkNBVE07RXRCazRFUjtFbUIzNkVFO0lHa0RBLDhDQVRNO0V0QnE0RVI7RW1COTZFRTtJR2tEQSxtQ0FUTTtFdEJ3NEVSO0VtQmo3RUU7SUdrREEsOENBVE07RXRCMjRFUjtFbUJwN0VFO0lHa0RBLDhDQVRNO0V0Qjg0RVI7RW1CdjdFRTtJR2tEQSxtQ0FUTTtFdEJpNUVSO0VtQjE3RUU7SUdrREEsOENBVE07RXRCbzVFUjtFbUI3N0VFO0lHa0RBLDhDQVRNO0V0QnU1RVI7RW1CaDhFRTtJR2tEQSxtQ0FUTTtFdEIwNUVSO0VtQm44RUU7SUdrREEsOENBVE07RXRCNjVFUjtFbUJ0OEVFO0lHa0RBLDhDQVRNO0V0Qmc2RVI7RW1CejhFRTtJR2tEQSxvQ0FUTTtFdEJtNkVSO0FBQ0Y7O0FtQmx1RUU7RU9wVkUsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO01BQUEsaUJBQUE7RUFDQSwwQkFBQTtNQUFBLHVCQUFBO1VBQUEsb0JBQUE7RUFtQ0ksWUFBQTtBMUJ3aEZSOztBbUJ0dUVFO0VBQ0UsV0FBQTtBbkJ5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RXBCeXNGSjtBQUNGO0FtQnBvRkU7RUc4REUsWUFUTTtBdEJrbEZWO0FtQm5vRkU7RUcwREUsWUFUTTtBdEJxbEZWO0FtQjluRkk7RUdrREEsNkNBVE07QXRCd2xGVjtBbUJqb0ZJO0VHa0RBLDhDQVRNO0F0QjJsRlY7QW1CcG9GSTtFR2tEQSxtQ0FUTTtBdEI4bEZWO0FtQnZvRkk7RUdrREEsOENBVE07QXRCaW1GVjtBbUIxb0ZJO0VHa0RBLDhDQVRNO0F0Qm9tRlY7QW1CN29GSTtFR2tEQSxtQ0FUTTtBdEJ1bUZWO0FtQmhwRkk7RUdrREEsOENBVE07QXRCMG1GVjtBbUJucEZJO0VHa0RBLDhDQVRNO0F0QjZtRlY7QW1CdHBGSTtFR2tEQSxtQ0FUTTtBdEJnbkZWO0FtQnpwRkk7RUdrREEsOENBVE07QXRCbW5GVjtBbUI1cEZJO0VHa0RBLDhDQVRNO0F0QnNuRlY7QW1CL3BGSTtFR2tEQSxvQ0FUTTtBdEJ5bkZWO0FlMW1GUTtFSXBFTjtJRzhERSxZQVRNO0V0QjZuRlI7RW1COXFGQTtJRzBERSxZQVRNO0V0QmdvRlI7RW1CenFGRTtJR2tEQSw2Q0FUTTtFdEJtb0ZSO0VtQjVxRkU7SUdrREEsOENBVE07RXRCc29GUjtFbUIvcUZFO0lHa0RBLG1DQVRNO0V0QnlvRlI7RW1CbHJGRTtJR2tEQSw4Q0FUTTtFdEI0b0ZSO0VtQnJyRkU7SUdrREEsOENBVE07RXRCK29GUjtFbUJ4ckZFO0lHa0RBLG1DQVRNO0V0QmtwRlI7RW1CM3JGRTtJR2tEQSw4Q0FUTTtFdEJxcEZSO0VtQjlyRkU7SUdrREEsOENBVE07RXRCd3BGUjtFbUJqc0ZFO0lHa0RBLG1DQVRNO0V0QjJwRlI7RW1CcHNGRTtJR2tEQSw4Q0FUTTtFdEI4cEZSO0VtQnZzRkU7SUdrREEsOENBVE07RXRCaXFGUjtFbUIxc0ZFO0lHa0RBLG9DQVRNO0V0Qm9xRlI7RW1CenRGQTtJRzhERSxZQVRNO0V0QnVxRlI7RW1CeHRGQTtJRzBERSxZQVRNO0V0QjBxRlI7RW1CbnRGRTtJR2tEQSw2Q0FUTTtFdEI2cUZSO0VtQnR0RkU7SUdrREEsOENBVE07RXRCZ3JGUjtFbUJ6dEZFO0lHa0RBLG1DQVRNO0V0Qm1yRlI7RW1CNXRGRTtJR2tEQSw4Q0FUTTtFdEJzckZSO0VtQi90RkU7SUdrREEsOENBVE07RXRCeXJGUjtFbUJsdUZFO0lHa0RBLG1DQVRNO0V0QjRyRlI7RW1CcnVGRTtJR2tEQSw4Q0FUTTtFdEIrckZSO0VtQnh1RkU7SUdrREEsOENBVE07RXRCa3NGUjtFbUIzdUZFO0lHa0RBLG1DQVRNO0V0QnFzRlI7RW1COXVGRTtJR2tEQSw4Q0FUTTtFdEJ3c0ZSO0VtQmp2RkU7SUdrREEsOENBVE07RXRCMnNGUjtFbUJwdkZFO0lHa0RBLG9DQVRNO0V0QjhzRlI7QUFDRjtBZWhzRlE7RUlwRU47SUc4REUsWUFUTTtFdEJtdEZSO0VtQnB3RkE7SUcwREUsWUFUTTtFdEJzdEZSO0VtQi92RkU7SUdrREEsNkNBVE07RXRCeXRGUjtFbUJsd0ZFO0lHa0RBLDhDQVRNO0V0QjR0RlI7RW1CcndGRTtJR2tEQSxtQ0FUTTtFdEIrdEZSO0VtQnh3RkU7SUdrREEsOENBVE07RXRCa3VGUjtFbUIzd0ZFO0lHa0RBLDhDQVRNO0V0QnF1RlI7RW1COXdGRTtJR2tEQSxtQ0FUTTtFdEJ3dUZSO0VtQmp4RkU7SUdrREEsOENBVE07RXRCMnVGUjtFbUJweEZFO0lHa0RBLDhDQVRNO0V0Qjh1RlI7RW1CdnhGRTtJR2tEQSxtQ0FUTTtFdEJpdkZSO0VtQjF4RkU7SUdrREEsOENBVE07RXRCb3ZGUjtFbUI3eEZFO0lHa0RBLDhDQVRNO0V0QnV2RlI7RW1CaHlGRTtJR2tEQSxvQ0FUTTtFdEIwdkZSO0FBQ0Y7O0FtQmgvRUk7RU90WUkscUNBQUE7QTFCMDNGUjtBZWh2RlE7RUk0UEo7SU90WUkscUNBQUE7RTFCODNGTjtBQUNGO0FlcnZGUTtFSTRQSjtJT3RZSSxxQ0FBQTtFMUJtNEZOO0FBQ0Y7O0FlMXZGUTtFSWdRRjtJTzFZRSxxQ0FBQTtFMUJ5NEZOO0FBQ0Y7QWVod0ZRO0VJZ1FGO0lPMVlFLHFDQUFBO0UxQjg0Rk47QUFDRjtBMkJ6ekZFO0VDOUJBLDJCM0I3QmE7RTBCOUJYLGtCQUFBO0VBQ0EsaUJBQUE7RUFJQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDhCQUFBO0VBQUEsNkJBQUE7TUFBQSx1QkFBQTtVQUFBLG1CQUFBO0EzQm01Rko7QTJCNXpGSTtFQy9DQSw4QkFGUztFQUdULDZCQUhTO0E1QmkzRmI7QWVoeEZRO0VZaERKO0lDL0NBLDhCQUZTO0lBR1QsNkJBSFM7RTVCczNGWDtBQUNGO0FldHhGUTtFWWhESjtJQy9DQSw4QkFGUztJQUdULDZCQUhTO0U1QjQzRlg7QUFDRjtBMkJ6MEZNO0VBQ0UsZUFBQTtFQUNBLGNBQUE7QTNCMjBGUjtBMkJ0MEZJO0VDNUNGLGVBSFM7QTVCdzNGWDtBMkJ0MEZNO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtBM0J3MEZSO0EyQnAwRkk7RUNyREYsZUFIUztBNUIrM0ZYO0EyQmwwRk07RUVySUYsZ0JBRlU7RUFHVixlQUhVO0E3QjY4RmQ7QTJCL3pGSTtFQUVFLGVBQUE7RUFDQSxjQUFBO0EzQmcwRk47O0EyQjN6RkU7RUF0REEsbUJBQUE7TUFBQSxpQkFBQTtVQUFBLGFBQUE7RUU5RkUsOEJBRlU7RUFHViw2QkFIVTtFRnFFVixZQUFBO0EzQm01Rko7QWV6ekZRO0VZVE47SUVwSkUsOEJBRlU7SUFHViw2QkFIVTtFN0I2OUZaO0FBQ0Y7O0EyQmwwRkU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtBM0JxMEZKOztBMkJqMEZFO0VBQ0UsZUFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QTNCbzBGSjs7QTJCOXpGTTtFQUNFLG1CQUFBO01BQUEsMkJBQUE7VUFBQSx1QkFBQTtFQUNBLHdCQUFBO0EzQmkwRlI7O0EyQjN6Rk07RUd0SUosZUFBQTtBOUJxOEZGOztBMkJ2MEZNO0VBQ0UsbUJBQUE7TUFBQSw0QkFBQTtVQUFBLHdCQUFBO0VBQ0EseUJBQUE7QTNCMDBGUjs7QTJCcDBGTTtFR3RJSiwwQkFBQTtBOUI4OEZGOztBMkJoMUZNO0VBQ0UsbUJBQUE7TUFBQSxpQkFBQTtVQUFBLGFBQUE7RUFDQSxjQUFBO0EzQm0xRlI7O0EyQjcwRk07RUd0SUosMkJBQUE7QTlCdTlGRjs7QTJCejFGTTtFQUNFLG1CQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtFQUNBLHlCQUFBO0EzQjQxRlI7O0EyQnQxRk07RUd0SUosZ0JBQUE7QTlCZytGRjs7QTJCbDJGTTtFQUNFLG1CQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtFQUNBLHlCQUFBO0EzQnEyRlI7O0EyQi8xRk07RUd0SUosMkJBQUE7QTlCeStGRjs7QTJCMzJGTTtFQUNFLG1CQUFBO01BQUEsaUJBQUE7VUFBQSxhQUFBO0VBQ0EsY0FBQTtBM0I4MkZSOztBMkJ4MkZNO0VHdElKLDJCQUFBO0E5QmsvRkY7O0EyQnAzRk07RUFDRSxtQkFBQTtNQUFBLDRCQUFBO1VBQUEsd0JBQUE7RUFDQSx5QkFBQTtBM0J1M0ZSOztBMkJqM0ZNO0VHdElKLGdCQUFBO0E5QjIvRkY7O0EyQjczRk07RUFDRSxtQkFBQTtNQUFBLDRCQUFBO1VBQUEsd0JBQUE7RUFDQSx5QkFBQTtBM0JnNEZSOztBMkIxM0ZNO0VHdElKLDJCQUFBO0E5Qm9nR0Y7O0EyQnQ0Rk07RUFDRSxtQkFBQTtNQUFBLGlCQUFBO1VBQUEsYUFBQTtFQUNBLGNBQUE7QTNCeTRGUjs7QTJCbjRGTTtFR3RJSiwyQkFBQTtBOUI2Z0dGOztBMkIvNEZNO0VBQ0UsbUJBQUE7TUFBQSw0QkFBQTtVQUFBLHdCQUFBO0VBQ0EseUJBQUE7QTNCazVGUjs7QTJCNTRGTTtFR3RJSixnQkFBQTtBOUJzaEdGOztBMkJ4NUZNO0VBQ0UsbUJBQUE7TUFBQSw0QkFBQTtVQUFBLHdCQUFBO0VBQ0EseUJBQUE7QTNCMjVGUjs7QTJCcjVGTTtFR3RJSiwyQkFBQTtBOUIraEdGOztBMkJqNkZNO0VBQ0UsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7RUFDQSxlQUFBO0EzQm82RlI7O0EyQjk1Rk07RUd0SUosMkJBQUE7QTlCd2lHRjs7QTJCMzVGTTtFQTFHSixtQkFBQTtNQUFBLGVBQUE7QTNCeWdHRjtBMkJ2Z0dFO0VBR0UsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7RUFDQSxlQUhNO0EzQjBnR1Y7O0EyQm42Rk07RUExR0osbUJBQUE7TUFBQSxlQUFBO0EzQmloR0Y7QTJCL2dHRTtFQUdFLG1CQUFBO01BQUEsaUJBQUE7VUFBQSxhQUFBO0VBQ0EsY0FITTtBM0JraEdWOztBMkIzNkZNO0VBMUdKLG1CQUFBO01BQUEsZUFBQTtBM0J5aEdGO0EyQnZoR0U7RUFHRSxtQkFBQTtNQUFBLDRCQUFBO1VBQUEsd0JBQUE7RUFDQSx5QkFITTtBM0IwaEdWOztBMkJuN0ZNO0VBMUdKLG1CQUFBO01BQUEsZUFBQTtBM0JpaUdGO0EyQi9oR0U7RUFHRSxtQkFBQTtNQUFBLGlCQUFBO1VBQUEsYUFBQTtFQUNBLGNBSE07QTNCa2lHVjs7QTJCMzdGTTtFQTFHSixtQkFBQTtNQUFBLGVBQUE7QTNCeWlHRjtBMkJ2aUdFO0VBR0UsbUJBQUE7TUFBQSxpQkFBQTtVQUFBLGFBQUE7RUFDQSxjQUhNO0EzQjBpR1Y7O0EyQm44Rk07RUExR0osbUJBQUE7TUFBQSxlQUFBO0EzQmlqR0Y7QTJCL2lHRTtFQUdFLG1CQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtFQUNBLHlCQUhNO0EzQmtqR1Y7O0EyQjM4Rk07RUExR0osbUJBQUE7TUFBQSxlQUFBO0EzQnlqR0Y7QTJCdmpHRTtFQUdFLG1CQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtFQUNBLHlCQUhNO0EzQjBqR1Y7O0EyQm45Rk07RUExR0osbUJBQUE7TUFBQSxlQUFBO0EzQmlrR0Y7QTJCL2pHRTtFQUdFLG1CQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0VBQ0EsZ0JBSE07QTNCa2tHVjs7QTJCOTdGTTtFRXRORixnQkFGVTtFQUdWLGVBSFU7QTdCMnBHZDs7QTJCLzdGTTtFRTFORiw4QkFGVTtFQUdWLDZCQUhVO0E3QmdxR2Q7O0FlamdHUTtFWWFGO0lBQ0UsbUJBQUE7UUFBQSwyQkFBQTtZQUFBLHVCQUFBO0lBQ0Esd0JBQUE7RTNCdy9GTjtFMkJsL0ZJO0lHdElKLGVBQUE7RTlCMm5HQTtFMkI3L0ZJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCKy9GTjtFMkJ6L0ZJO0lHdElKLDBCQUFBO0U5QmtvR0E7RTJCcGdHSTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FBQTtFM0JzZ0dOO0UyQmhnR0k7SUd0SUosMkJBQUE7RTlCeW9HQTtFMkIzZ0dJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCNmdHTjtFMkJ2Z0dJO0lHdElKLGdCQUFBO0U5QmdwR0E7RTJCbGhHSTtJQUNFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUFBO0UzQm9oR047RTJCOWdHSTtJR3RJSiwyQkFBQTtFOUJ1cEdBO0UyQnpoR0k7SUFDRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtJQUNBLGNBQUE7RTNCMmhHTjtFMkJyaEdJO0lHdElKLDJCQUFBO0U5QjhwR0E7RTJCaGlHSTtJQUNFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUFBO0UzQmtpR047RTJCNWhHSTtJR3RJSixnQkFBQTtFOUJxcUdBO0UyQnZpR0k7SUFDRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFBQTtFM0J5aUdOO0UyQm5pR0k7SUd0SUosMkJBQUE7RTlCNHFHQTtFMkI5aUdJO0lBQ0UsbUJBQUE7UUFBQSxpQkFBQTtZQUFBLGFBQUE7SUFDQSxjQUFBO0UzQmdqR047RTJCMWlHSTtJR3RJSiwyQkFBQTtFOUJtckdBO0UyQnJqR0k7SUFDRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFBQTtFM0J1akdOO0UyQmpqR0k7SUd0SUosZ0JBQUE7RTlCMHJHQTtFMkI1akdJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCOGpHTjtFMkJ4akdJO0lHdElKLDJCQUFBO0U5QmlzR0E7RTJCbmtHSTtJQUNFLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBQ0EsZUFBQTtFM0Jxa0dOO0UyQi9qR0k7SUd0SUosMkJBQUE7RTlCd3NHQTtFMkIzakdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0J3cUdBO0UyQnRxR0E7SUFHRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQUNBLGVBSE07RTNCeXFHUjtFMkJsa0dJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0IrcUdBO0UyQjdxR0E7SUFHRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtJQUNBLGNBSE07RTNCZ3JHUjtFMkJ6a0dJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0JzckdBO0UyQnByR0E7SUFHRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFITTtFM0J1ckdSO0UyQmhsR0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQjZyR0E7RTJCM3JHQTtJQUdFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FITTtFM0I4ckdSO0UyQnZsR0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQm9zR0E7RTJCbHNHQTtJQUdFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FITTtFM0Jxc0dSO0UyQjlsR0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQjJzR0E7RTJCenNHQTtJQUdFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUhNO0UzQjRzR1I7RTJCcm1HSTtJQTFHSixtQkFBQTtRQUFBLGVBQUE7RTNCa3RHQTtFMkJodEdBO0lBR0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBSE07RTNCbXRHUjtFMkI1bUdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0J5dEdBO0UyQnZ0R0E7SUFHRSxtQkFBQTtRQUFBLG1CQUFBO1lBQUEsZUFBQTtJQUNBLGdCQUhNO0UzQjB0R1I7QUFDRjtBZWhwR1E7RVlvQ0E7SUFDRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtFM0IrbUdSO0FBQ0Y7QTJCem1HVTtFQUNFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0EzQjJtR1o7QWV4cEdRO0VZNENFO0lBSUksbUJBQUE7UUFBQSxpQkFBQTtZQUFBLGFBQUE7RTNCNG1HWjtFMkJubUdJO0lFdE5GLGdCQUZVO0lBR1YsZUFIVTtFN0IrekdaO0UyQm5tR0k7SUUxTkYsOEJBRlU7SUFHViw2QkFIVTtFN0JtMEdaO0FBQ0Y7O0FlcnFHUTtFWWFGO0lBQ0UsbUJBQUE7UUFBQSwyQkFBQTtZQUFBLHVCQUFBO0lBQ0Esd0JBQUE7RTNCNHBHTjtFMkJ0cEdJO0lHdElKLGVBQUE7RTlCK3hHQTtFMkJqcUdJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCbXFHTjtFMkI3cEdJO0lHdElKLDBCQUFBO0U5QnN5R0E7RTJCeHFHSTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FBQTtFM0IwcUdOO0UyQnBxR0k7SUd0SUosMkJBQUE7RTlCNnlHQTtFMkIvcUdJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCaXJHTjtFMkIzcUdJO0lHdElKLGdCQUFBO0U5Qm96R0E7RTJCdHJHSTtJQUNFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUFBO0UzQndyR047RTJCbHJHSTtJR3RJSiwyQkFBQTtFOUIyekdBO0UyQjdyR0k7SUFDRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtJQUNBLGNBQUE7RTNCK3JHTjtFMkJ6ckdJO0lHdElKLDJCQUFBO0U5QmswR0E7RTJCcHNHSTtJQUNFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUFBO0UzQnNzR047RTJCaHNHSTtJR3RJSixnQkFBQTtFOUJ5MEdBO0UyQjNzR0k7SUFDRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFBQTtFM0I2c0dOO0UyQnZzR0k7SUd0SUosMkJBQUE7RTlCZzFHQTtFMkJsdEdJO0lBQ0UsbUJBQUE7UUFBQSxpQkFBQTtZQUFBLGFBQUE7SUFDQSxjQUFBO0UzQm90R047RTJCOXNHSTtJR3RJSiwyQkFBQTtFOUJ1MUdBO0UyQnp0R0k7SUFDRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFBQTtFM0IydEdOO0UyQnJ0R0k7SUd0SUosZ0JBQUE7RTlCODFHQTtFMkJodUdJO0lBQ0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBQUE7RTNCa3VHTjtFMkI1dEdJO0lHdElKLDJCQUFBO0U5QnEyR0E7RTJCdnVHSTtJQUNFLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBQ0EsZUFBQTtFM0J5dUdOO0UyQm51R0k7SUd0SUosMkJBQUE7RTlCNDJHQTtFMkIvdEdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0I0MEdBO0UyQjEwR0E7SUFHRSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQUNBLGVBSE07RTNCNjBHUjtFMkJ0dUdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0JtMUdBO0UyQmoxR0E7SUFHRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtJQUNBLGNBSE07RTNCbzFHUjtFMkI3dUdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0IwMUdBO0UyQngxR0E7SUFHRSxtQkFBQTtRQUFBLDRCQUFBO1lBQUEsd0JBQUE7SUFDQSx5QkFITTtFM0IyMUdSO0UyQnB2R0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQmkyR0E7RTJCLzFHQTtJQUdFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FITTtFM0JrMkdSO0UyQjN2R0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQncyR0E7RTJCdDJHQTtJQUdFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0lBQ0EsY0FITTtFM0J5MkdSO0UyQmx3R0k7SUExR0osbUJBQUE7UUFBQSxlQUFBO0UzQisyR0E7RTJCNzJHQTtJQUdFLG1CQUFBO1FBQUEsNEJBQUE7WUFBQSx3QkFBQTtJQUNBLHlCQUhNO0UzQmczR1I7RTJCendHSTtJQTFHSixtQkFBQTtRQUFBLGVBQUE7RTNCczNHQTtFMkJwM0dBO0lBR0UsbUJBQUE7UUFBQSw0QkFBQTtZQUFBLHdCQUFBO0lBQ0EseUJBSE07RTNCdTNHUjtFMkJoeEdJO0lBMUdKLG1CQUFBO1FBQUEsZUFBQTtFM0I2M0dBO0UyQjMzR0E7SUFHRSxtQkFBQTtRQUFBLG1CQUFBO1lBQUEsZUFBQTtJQUNBLGdCQUhNO0UzQjgzR1I7QUFDRjtBZXB6R1E7RVlvQ0E7SUFDRSxtQkFBQTtRQUFBLGlCQUFBO1lBQUEsYUFBQTtFM0JteEdSO0FBQ0Y7QTJCN3dHVTtFQUNFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0EzQit3R1o7QWU1ekdRO0VZNENFO0lBSUksbUJBQUE7UUFBQSxpQkFBQTtZQUFBLGFBQUE7RTNCZ3hHWjtFMkJ2d0dJO0lFdE5GLGdCQUZVO0lBR1YsZUFIVTtFN0JtK0daO0UyQnZ3R0k7SUUxTkYsOEJBRlU7SUFHViw2QkFIVTtFN0J1K0daO0FBQ0Y7O0EyQnZ3R0U7RUFDRSxtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtFQUNBLGVBQUE7QTNCMHdHSjs7QTJCdHdHRTtFRS9MRSw4QkFEZ0I7QTdCMDhHcEI7QTZCdjhHSTtFQUNFLGdCQUFBO0E3Qnk4R047QWVyMUdRO0VZd0VOO0lFL0xFLDhCQURnQjtFN0JpOUdsQjtFNkI5OEdFO0lBQ0UsZ0JBQUE7RTdCZzlHSjtBQUNGOztBK0Jwc0dFO0VBMU9BLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQjlCb09jO0U4QjFOWixrQjlCeU5hO0U4QnROZixjOUI4TmM7RThCN05kLG1COUI0TmM7RThCM05kLHlFOUJ3T2tCO0U4QnhPbEIsaUU5QndPa0I7RThCdk9sQixvQjlCaU5tQjtFOEJoTm5CLGlCQUFBO0VBQ0EsaUI5QmdObUI7RThCL01uQix3QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QS9CdTZHRjtBS3gxR0U7RUFDRSxVQUFBO0FMMDFHSjtBK0JudEdNO0VBQ0UsaUJBRm1CO0EvQnV0RzNCO0ErQnR0R007RUFDRSxrQkFGbUI7QS9CMHRHM0I7QStCenRHTTtFQUNFLGtCQUZtQjtBL0I2dEczQjtBK0J2dEdJO0VBck5BLGNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QS9CKzZHSjtBK0I5MkdFO0VBSUUseUI5QnpIWTtFOEIwSFosYzlCbElJO0FEKytHUjtBK0IxMkdFO0VBQ0UseUI5QjdIYTtFOEI4SGIsYzlCdklJO0FEbS9HUjtBK0J0M0dFO0VBSUUseUI5QmxHaUI7RThCbUdqQixjQWJRO0EvQms0R1o7QStCbDNHRTtFQUNFLHNDQWJtQjtFQWNuQixjQWxCUTtBL0JzNEdaO0ErQjkzR0U7RUFJRSx5QjlCbEdpQjtFOEJtR2pCLGNBYlE7QS9CMDRHWjtBK0IxM0dFO0VBQ0Usb0VBYm1CO0VBY25CLGNBbEJRO0EvQjg0R1o7QStCdDRHRTtFQUlFLHlCOUJsR2lCO0U4Qm1HakIsY0FiUTtBL0JrNUdaO0ErQmw0R0U7RUFDRSx5QkFibUI7RUFjbkIsY0FsQlE7QS9CczVHWjtBK0I5NEdFO0VBSUUseUI5QmxHaUI7RThCbUdqQixjQWJRO0EvQjA1R1o7QStCMTRHRTtFQUNFLG9DQWJtQjtFQWNuQixjQWxCUTtBL0I4NUdaO0ErQnQ1R0U7RUFJRSx5QjlCbEdpQjtFOEJtR2pCLGNBYlE7QS9CazZHWjtBK0JsNUdFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0EvQnM2R1o7QStCNTRHSTtFQUNFLDZCQUFBO0EvQjg0R047QStCNzNHRTtFQUlFLHlCQUFBO0VBQ0EsYzlCOUpZO0FEMGhIaEI7QStCejNHRTtFQUNFLDhCQVpZO0VBYVosdUJBYlk7QS9CdzRHaEI7QStCcjRHRTtFQUlFLHlCQUFBO0VBQ0EsYzlCdklpQjtBRDJnSHJCO0ErQmo0R0U7RUFDRSxpQ0FaWTtFQWFaLDBCQWJZO0EvQmc1R2hCO0ErQjc0R0U7RUFJRSx5QkFBQTtFQUNBLGM5QnZJaUI7QURtaEhyQjtBK0J6NEdFO0VBQ0UsOERBWlk7RUFhWix1REFiWTtBL0J3NUdoQjtBK0JyNUdFO0VBSUUseUJBQUE7RUFDQSxjOUJ2SWlCO0FEMmhIckI7QStCajVHRTtFQUNFLDhCQVpZO0VBYVosdUJBYlk7QS9CZzZHaEI7QStCNzVHRTtFQUlFLHlCQUFBO0VBQ0EsYzlCdklpQjtBRG1pSHJCO0ErQno1R0U7RUFDRSwrQkFaWTtFQWFaLHdCQWJZO0EvQnc2R2hCO0ErQnI2R0U7RUFJRSx5QkFBQTtFQUNBLGM5QnZJaUI7QUQyaUhyQjtBK0JqNkdFO0VBQ0UsOEJBWlk7RUFhWix1QkFiWTtBL0JnN0doQjtBK0IzNUdJO0VBQ0UseUJBQUE7RUFDQSw2QkFBQTtBL0I2NUdOO0ErQjk0R0U7RUFJRSxjOUJoTVk7QUQ2a0hoQjtBK0IxNEdFO0VBQ0UsdUJBWFk7QS9CdTVHaEI7QStCcDVHRTtFQUlFLGM5QnpLaUI7QUQ0akhyQjtBK0JoNUdFO0VBQ0UsMEJBWFk7QS9CNjVHaEI7QStCMTVHRTtFQUlFLGM5QnpLaUI7QURra0hyQjtBK0J0NUdFO0VBQ0UsdURBWFk7QS9CbTZHaEI7QStCaDZHRTtFQUlFLGM5QnpLaUI7QUR3a0hyQjtBK0I1NUdFO0VBQ0UsdUJBWFk7QS9CeTZHaEI7QStCdDZHRTtFQUlFLGM5QnpLaUI7QUQ4a0hyQjtBK0JsNkdFO0VBQ0Usd0JBWFk7QS9CKzZHaEI7QStCNTZHRTtFQUlFLGM5QnpLaUI7QURvbEhyQjtBK0J4NkdFO0VBQ0UsdUJBWFk7QS9CcTdHaEI7QStCOXpHSTtFQW5HRixhOUIyRHdCO0U4QjFEeEIsbUJBQUE7QS9CbzZHRjtBK0J4NUdFO0UxQjdQQSxjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLG1CMEJvUE87RTFCbFBQLFdBQUE7RUFHRSxzQkFBQTtFQUNBLDZDQUFBO0UwQm9QQSxrQkFBQTtFQUNBLFVBQUE7RUFFQSxxQkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFUTztBL0J5NkdYO0ErQmwwR1E7RUFDRSx5QjlCaFVNO0FEb29IaEI7QStCL3pHWTtFQUNFLHlCOUIvU087QURnbkhyQjtBK0JsMEdZO0VBQ0UseUI5Qi9TTztBRG1uSHJCO0ErQnIwR1k7RUFDRSx5QjlCL1NPO0FEc25IckI7QStCeDBHWTtFQUNFLHlCOUIvU087QUR5bkhyQjtBK0IzMEdZO0VBQ0UseUI5Qi9TTztBRDRuSHJCO0ErQnIwR0k7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QS9CdTBHTjs7QStCbDBHSTtFQUVFLHFCQUFBO0EvQm8wR047O0FnQ3RoSEU7RUFsTEEsbUIvQjZUbUI7RStCMVRqQixvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsZUFBQTtFQUNBLDBCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtFQUNBLG1CQUFBO01BQUEsb0JBQUE7VUFBQSxZQUFBO0FoQzBzSEo7QUsza0hFO0VBRUUsY0FBQTtFQUNBLFlBQUE7RUFHRSwwQkFBQTtNQUFBLGFBQUE7RUFDQSw0QkFBQTtNQUFBLGlCQUFBO1VBQUEsUUFBQTtBTDBrSE47QUt0a0hFO0VBQ0UsV0FBQTtBTHdrSEo7QWdDanRISTtFQUVFLGFBQUE7QWhDa3RITjtBZ0Mzc0hFO0VBQ0UsU0FBQTtFQUNBLGlCL0IyU2tCO0UrQjFTbEIsa0IvQjBTa0I7RStCelNsQixpQkFBQTtFQUdFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0FoQzJzSE47QWdDeHNISTtFQUNFLGVBQUE7QWhDMHNITjtBZ0MvaUhNO0VBQ0UsaUJBRm1CO0FoQ21qSDNCO0FnQ2xqSE07RUFDRSxrQkFGbUI7QWhDc2pIM0I7QWdDcmpITTtFQUNFLGtCQUZtQjtBaEN5akgzQjtBZ0NocUhFO0VBRUksbUJBQUE7TUFBQSxpQkFBQTtVQUFBLGFBQUE7QWhDaXFITjtBK0JqbEhFO0VBSUUseUI5QmxHaUI7RThCbUdqQixjQWJRO0EvQjZsSFo7QStCN2tIRTtFQUNFLHNDQWJtQjtFQWNuQixjQWxCUTtBL0JpbUhaO0ErQnpsSEU7RUFJRSx5QjlCbEdpQjtFOEJtR2pCLGNBYlE7QS9CcW1IWjtBK0JybEhFO0VBQ0Usb0VBYm1CO0VBY25CLGNBbEJRO0EvQnltSFo7QStCam1IRTtFQUlFLHlCOUJsR2lCO0U4Qm1HakIsY0FiUTtBL0I2bUhaO0ErQjdsSEU7RUFDRSx5QkFibUI7RUFjbkIsY0FsQlE7QS9CaW5IWjtBK0J6bUhFO0VBSUUseUI5QmxHaUI7RThCbUdqQixjQWJRO0EvQnFuSFo7QStCcm1IRTtFQUNFLG9DQWJtQjtFQWNuQixjQWxCUTtBL0J5bkhaO0ErQmpuSEU7RUFJRSx5QjlCbEdpQjtFOEJtR2pCLGNBYlE7QS9CNm5IWjtBK0I3bUhFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0EvQmlvSFo7QStCdm1ISTtFQUNFLDZCQUFBO0EvQnltSE47QStCeGxIRTtFQUlFLHlCQUFBO0VBQ0EsYzlCOUpZO0FEcXZIaEI7QStCcGxIRTtFQUNFLDhCQVpZO0VBYVosdUJBYlk7QS9CbW1IaEI7QStCaG1IRTtFQUlFLHlCQUFBO0VBQ0EsYzlCdklpQjtBRHN1SHJCO0ErQjVsSEU7RUFDRSxpQ0FaWTtFQWFaLDBCQWJZO0EvQjJtSGhCO0ErQnhtSEU7RUFJRSx5QkFBQTtFQUNBLGM5QnZJaUI7QUQ4dUhyQjtBK0JwbUhFO0VBQ0UsOERBWlk7RUFhWix1REFiWTtBL0JtbkhoQjtBK0JobkhFO0VBSUUseUJBQUE7RUFDQSxjOUJ2SWlCO0FEc3ZIckI7QStCNW1IRTtFQUNFLDhCQVpZO0VBYVosdUJBYlk7QS9CMm5IaEI7QStCeG5IRTtFQUlFLHlCQUFBO0VBQ0EsYzlCdklpQjtBRDh2SHJCO0ErQnBuSEU7RUFDRSwrQkFaWTtFQWFaLHdCQWJZO0EvQm1vSGhCO0ErQmhvSEU7RUFJRSx5QkFBQTtFQUNBLGM5QnZJaUI7QURzd0hyQjtBK0I1bkhFO0VBQ0UsOEJBWlk7RUFhWix1QkFiWTtBL0Iyb0hoQjtBK0J0bkhJO0VBQ0UseUJBQUE7RUFDQSw2QkFBQTtBL0J3bkhOO0ErQnptSEU7RUFJRSxjOUJoTVk7QUR3eUhoQjtBK0JybUhFO0VBQ0UsdUJBWFk7QS9Ca25IaEI7QStCL21IRTtFQUlFLGM5QnpLaUI7QUR1eEhyQjtBK0IzbUhFO0VBQ0UsMEJBWFk7QS9Cd25IaEI7QStCcm5IRTtFQUlFLGM5QnpLaUI7QUQ2eEhyQjtBK0JqbkhFO0VBQ0UsdURBWFk7QS9COG5IaEI7QStCM25IRTtFQUlFLGM5QnpLaUI7QURteUhyQjtBK0J2bkhFO0VBQ0UsdUJBWFk7QS9Cb29IaEI7QStCam9IRTtFQUlFLGM5QnpLaUI7QUR5eUhyQjtBK0I3bkhFO0VBQ0Usd0JBWFk7QS9CMG9IaEI7QStCdm9IRTtFQUlFLGM5QnpLaUI7QUQreUhyQjtBK0Jub0hFO0VBQ0UsdUJBWFk7QS9CZ3BIaEI7QWdDaDBIRTtFQUNFLDhCQUFBO0FoQ2swSEo7QWdDaDBISTtFQUNFLDhCQUFBO0FoQ2swSE47QWdDeHBISTtFQWhIQSxtQkFBQTtNQUFBLGVBQUE7QWhDMndISjtBZ0N4d0hFO0VBRUksbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QWhDeXdITjtBZ0Nud0hJO0VBQ0UsZ0JBQUE7QWhDcXdITjtBZ0NyekhFO0VBRUksbUJBQUE7TUFBQSxpQkFBQTtVQUFBLGFBQUE7QWhDc3pITjtBZXh2SFE7RWlCUU47SUFFSSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQUtGLGdCQUFBO0VoQzh1SEY7QUFDRjtBZTl2SFE7RWlCUU47SUFFSSxtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQUtGLGdCQUFBO0VoQ292SEY7QUFDRjtBZXB3SFE7RWlCMEdKO0lBRUksY0FBQTtFaEM0cEhOO0VnQzFwSE07SUFDRSxjQUFBO0lBQ0EsZUFBQTtFaEM0cEhSO0FBQ0Y7QWU3d0hRO0VpQnFISjtJQUVJLGNBQUE7RWhDMHBITjtFZ0N4cEhNO0lBQ0UsY0FBQTtJQUNBLGVBQUE7RWhDMHBIUjtBQUNGOztBaUM5MUhFO0VBWkEsa0JBQUE7RUFDQSxXaEN3U29CO0VnQ3ZTcEIsY2hDcEJVO0VnQ3FCVixlQUFBO0FqQzgySEY7QUt2d0hFO0VBQ0UsVUFBQTtBTHl3SEo7QWlDLzJIRTtFQUVFLGNoQy9CSTtBRCs0SFI7QWlDbDJIUTtFQWpDTixjQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBakNzNEhGOztBaUN4MkhRO0VBakNOLFdBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7QWpDNjRIRjs7QWtDajdIRTtFQVpBLHFCQUFBO0VBQ0EsMEJqQ3dkYztFaUN0ZGQsZ0JqQ2lGYztFaUMvRWQsaUJqQ21kZ0I7RWlDbGRoQixjQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBT0UsbUJqQ2tCSTtFaUNqQkosY2pDa0JJO0FEdTZIUjtBa0N0N0hNO0VBQ0UsbUJqQzZDYTtFaUM1Q2IsY0FBQTtBbEN3N0hSO0FrQzE3SE07RUFDRSxtQmpDNkNhO0VpQzVDYixjQUFBO0FsQzQ3SFI7QWtDOTdITTtFQUNFLG1CakM2Q2E7RWlDNUNiLGNBQUE7QWxDZzhIUjtBa0NsOEhNO0VBQ0UsbUJqQzZDYTtFaUM1Q2IsY0FBQTtBbENvOEhSO0FrQ3Q4SE07RUFDRSxtQmpDNkNhO0VpQzVDYixjQUFBO0FsQ3c4SFI7O0FtQ3I1SEU7RUE3Q0Esa0JsQ3FQbUI7RWtDcFBuQixnQkFBQTtBbkNzOEhGO0FLLzFIRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0VBR0UsMEJBQUE7TUFBQSxhQUFBO0VBQ0EsNEJBQUE7TUFBQSxpQkFBQTtVQUFBLFFBQUE7QUw4MUhOO0FLMTFIRTtFQUNFLFdBQUE7QUw0MUhKO0FtQzU4SEU7RUFDRSxXQUFBO0VBRUEsaUJsQytPeUI7RWtDOU96QixjbENGSTtFa0NHSixlQUFBO0VBR0UseUJBQUE7QW5DMjhITjtBbUNuOEhRO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxZQVBRO0VBUVIsY2xDZEk7QURtOUhkO0FtQzM3SEU7RUFDRSxjbEM5Qkk7QUQyOUhSO0FtQzM3SEk7RUFDRSwwQkFBQTtBbkM2N0hOO0FtQ3A3SEk7RUFDRSxjbEN0Q1E7RWtDdUNSLG1CQUFBO0FuQ3M3SE47O0FvQzc4SEU7RUExQ0Esa0JBQUE7RUFDQSxrQm5DMFRlO0VtQ3pUZixhQUFBO0VBRUEscUNuQ3NUZTtFbUNyVGYsZ0JuQ21FYztFbUNsRGQsdUJBRmE7RUFHYixjQUFBO0FwQzArSEY7QW9Dei9IRTtFQUNFLGFBQUE7QXBDMi9ISjtBb0N4L0hFO0VBQ0UsZ0JBQUE7QXBDMC9ISjtBb0N6OUhNO0VBeEJKLGtEQUZhO0VBR2IsY0FBQTtBcENvL0hGO0FvQzc5SE07RUF4QkosNENBRmE7RUFHYixjQUFBO0FwQ3cvSEY7QW9DaitITTtFQXhCSixzQ0FGYTtFQUdiLGNBQUE7QXBDNC9IRjtBb0NyK0hNO0VBeEJKLDBDQUZhO0VBR2IsY0FBQTtBcENnZ0lGO0FvQ3orSE07RUF4QkosMENBRmE7RUFHYixjQUFBO0FwQ29nSUY7QW9DditITTtFQXpCSixtQkF3QjJCO0VBdkIzQixxQkF1QjJCO0VBdEIzQixzQkFzQjJCO0VBckIzQixvQkFxQjJCO0FwQzgrSDdCO0FvQzcrSE07RUF6QkosaUJBd0IyQjtFQXZCM0IsbUJBdUIyQjtFQXRCM0Isb0JBc0IyQjtFQXJCM0Isa0JBcUIyQjtBcENvL0g3Qjs7QXFDbmhJRTtFQTVCQSxrQkFBQTtFQUNBLFdBQUE7RUFFQSxhQUFBO0VBRUEsWXBDK1hlO0VvQzlYZixhcEMwWGlCO0VvQ3hYakIsa0JBQUE7RUFDQSx5QnBDeVhnQjtFb0N4WGhCLGdCcENzRWM7RW9DckVkLHlCcENtQk07RW9DakJOLGVwQ3NYbUI7QUR5ckhyQjtBcUMzaUlFO0VBQ0UsY0FBQTtBckM2aUlKO0FxQzFpSUU7RUFDRSxjQUFBO0VBQ0EsbUJBQUE7QXJDNGlJSjs7QXFDamlJTTtFQUNFLFlwQ21XUztBRGlzSGpCOztBcUNyaUlNO0VBQ0UsWXBDbVdTO0FEcXNIakI7O0FxQ3ppSU07RUFDRSxZcENtV1M7QUR5c0hqQjs7QXNDaDlIRTtFQW5GQSxjQUFBO0VBQ0EsbUJyQzZCYztBRDBnSWhCO0FLcjlIRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0VBR0UsMEJBQUE7TUFBQSxhQUFBO0VBQ0EsNEJBQUE7TUFBQSxpQkFBQTtVQUFBLFFBQUE7QUxvOUhOO0FLaDlIRTtFQUNFLFdBQUE7QUxrOUhKO0FzQzdpSUU7RUFDRSw2QnJDb2ZzQjtFcUNuZnRCLGdCckM4Qlk7RXFDN0JaLDBCckM4ZW1CO0VxQ3hlakIsYUFBQTtBdEMwaUlOO0FzQ3hpSU07RUFFRSxxQkFBQTtBdEN5aUlSO0FlNzlIUTtFdUJ6Rk47SUF1Qk0scUJBQUE7RXRDbWlJTjtBQUNGO0FzQzloSUU7O0VBRUUsY0FBQTtFQUNBLHdDckNvZHNCO0VxQ25kdEIsZ0JyQ0RZO0VxQ0VaLGNyQ3JESTtBRHFsSVI7QXNDOWhJSTs7RUFDRSxtQnJDcERPO0FEcWxJYjtBc0NwL0hJO0VBbENGLHdDckNvY3dCO0VxQ25jeEIsbUJyQ3BFTTtFcUNxRU4sY3JDcEVNO0VxQ3FFTixlQUFBO0F0Q3loSUY7QXNDdC9ISTtFQTNCRix3Q3JDeWJ3QjtFcUN4YnhCLGNyQzFFWTtFcUMyRVosbUJBQUE7QXRDb2hJRjtBc0NsaElFO0VBQ0UsdUJBQUE7QXRDb2hJSjtBc0MxL0hJO0VBakJGLHdDckMyYXdCO0VxQzFheEIsWUFBQTtFQUNBLGNyQzlGTTtBRDRtSVI7O0FzQ3ovSEk7O0VBRUUscUJBQUE7RUFDQSxvQkFBQTtFQUNBLFlyQzJac0I7QURpbUg1Qjs7QXNDei9ISTs7RUFFRSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWXJDcVprQjtBRHVtSHhCOztBdUN6aUlFO0VBbkdBLGtCQUFBO0VBQ0EscUJBQUE7RUFFQSxpQ3RDazBCc0I7RXNDajBCdEIsZ0J0Q2dFbUI7RXNDL0RuQixZdEM4ekJlO0FEaTFHakI7O0F1QzdpSUU7RUE5RkEsa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGFBQUE7RUFFQSxnQnRDNHpCa0I7RXNDM3pCbEIsZ0J0QzB6QmdCO0VzQ3h6QmhCLGdCdENxRGM7RXNDcERkLHlCdENDTTtFc0NBTixjdEM4SGdCO0VzQzdIaEIsY0FBQTtBdkM2b0lGO0F1QzNvSUU7RUFDRSxrQkFBQTtBdkM2b0lKO0F1Q3pvSUk7RWxDbENGLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EscUJKODBCa0I7RUk1MEJsQixXQUFBO0VBT0UsbUJBQUE7RUFDQSw2Q0FBQTtFa0NxQkUsWUFBQTtBdkNrcElOO0F1Qy9vSUk7RUFDRSxTQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBdkNp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NEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBakQ2bktqQjs7QWlENW5LTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FqRGlvS2pCOztBaURob0tNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWpEcW9LakI7O0FpRHBvS007RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBakR5b0tqQjs7QWlEeG9LTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FqRDZvS2pCOztBaUQ1b0tNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWpEaXBLakI7O0FlM2tLUTtFa0NyRUY7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakRzcEtmO0VpRHJwS0k7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakR5cEtmO0VpRHhwS0k7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakQ0cEtmO0VpRDNwS0k7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakQrcEtmO0VpRDlwS0k7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakRrcUtmO0VpRGpxS0k7SUNoQ0osNEJEK0JlO1FDL0JmLGlCRCtCZTtZQy9CZixRRCtCZTtFakRxcUtmO0FBQ0Y7QWVobUtRO0VrQ3JFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRDBxS2Y7RWlEenFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRDZxS2Y7RWlENXFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRGdyS2Y7RWlEL3FLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRG1yS2Y7RWlEbHJLSTtJQ2hDSiw0QkQrQmU7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RXp3TUU7RUFBdUIsZ0JEbkJaO0EvRGd5TWI7O0FnRTd3TUU7RUFBdUIsZ0JEbkJaO0EvRG95TWI7O0FnRWp4TUU7RUFBdUIsZ0JEbkJaO0EvRHd5TWI7O0FnRXJ4TUU7RUFBdUIsZ0JEbkJaO0EvRDR5TWI7O0FnRXp4TUU7RUFBdUIsZ0JEbkJaO0EvRGd6TWI7O0FnRTd4TUU7RUFBdUIsZ0JEbkJaO0EvRG96TWI7O0FnRWp5TUU7RUFBdUIsZ0JEbkJaO0EvRHd6TWI7O0FnRXJ5TUU7RUFBdUIsZ0JEbkJaO0EvRDR6TWI7O0FnRXp5TUU7RUFBdUIsZ0JEbkJaO0EvRGcwTWI7O0FnRTd5TUU7RUFBdUIsZ0JEbkJaO0EvRG8wTWI7O0FnRWp6TUU7RUFBdUIsZ0JEbkJaO0EvRHcwTWI7O0FnRXJ6TUU7RUFBdUIsZ0JEbkJaO0EvRDQwTWI7O0FnRXp6TUU7RUFBdUIsZ0JEbkJaO0EvRGcxTWI7O0FnRTd6TUU7RUFBdUIsZ0JEbkJaO0EvRG8xTWI7O0FnRWowTUU7RUFBdUIsZ0JEbkJaO0EvRHcxTWI7O0FnRXIwTUU7RUFBdUIsZ0JEbkJaO0EvRDQxTWI7O0FnRXowTUU7RUFBdUIsZ0JEbkJaO0EvRGcyTWI7O0FpRWwyTUE7RUFDRSx1QkFBQTtBakVxMk1GOztBaUVsMk1BO0VBQ0UsNkJBQUE7QWpFcTJNRjs7QWlFbDJNQTtFQUNFLGVBQUE7QWpFcTJNRjs7QWlFbDJNQTtFQUNFLHVCQUFBO0FqRXEyTUY7QWlFcDJNRTtFQUNFLDJCQUFBO0FqRXMyTUo7O0FpRWwyTUE7RUFDRSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0EsaUNBQUE7RUFBQSx5QkFBQTtBakVxMk1GO0FpRW4yTUU7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNkJBQUE7QWpFcTJNSjs7QWlFajJNQTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBakVvMk1GOztBaUUv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R0FBQTtBQVdLO0VBR00sZURXUTtFQ1hSLGdCRFdRO0VDWFIsaUJEV1E7QWxFdytObkI7O0FlOTBOUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFKytOakI7QUFDRjs7QWV0MU5RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEV1L05qQjtBQUNGOztBbUV0Z09LO0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLDRCRFdRO0FsRTgvTm5COztBZXAyTlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXFnT2pCO0FBQ0Y7O0FlNTJOUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFNmdPakI7QUFDRjs7QW1FNWhPSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUixpQkRXUTtBbEVvaE9uQjs7QWUxM05RO0VvRHhLSDtJQUdNLGVEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRTJoT2pCO0FBQ0Y7O0FlbDROUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFbWlPakI7QUFDRjs7QW1FbGpPSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUiw0QkRXUTtBbEUwaU9uQjs7QWVoNU5RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEVpak9qQjtBQUNGOztBZXg1TlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXlqT2pCO0FBQ0Y7O0FtRXhrT0s7RUFHTSwwQkRXUTtFQ1hSLGdCRFdRO0VDWFIsNEJEV1E7QWxFZ2tPbkI7O0FldDZOUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFdWtPakI7QUFDRjs7QWU5Nk5RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEUra09qQjtBQUNGOztBbUU5bE9LO0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLGlCRFdRO0FsRXNsT25COztBZTU3TlE7RW9EeEtIO0lBR00sZURXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFNmxPakI7QUFDRjs7QWVwOE5RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEVxbU9qQjtBQUNGOztBbUVwbk9LO0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLDRCRFdRO0FsRTRtT25COztBZWw5TlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRW1uT2pCO0FBQ0Y7O0FlMTlOUTtFb0R4S0g7SUFHTSxlRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEUybk9qQjtBQUNGOztBbUUxb09LOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLGlCRFdRO0FsRTZwT25COztBZW5nT1E7RW9EeEtIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRStyT2pCO0FBQ0Y7O0FldGlPUTtFb0R4S0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFa3VPakI7QUFDRjs7QW1FanZPSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUiw0QkRXUTtBbEV5dU9uQjs7QWUva09RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEVndk9qQjtBQUNGOztBZXZsT1E7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXd2T2pCO0FBQ0Y7O0FtRXZ3T0s7RUFHTSwwQkRXUTtFQ1hSLGdCRFdRO0VDWFIsNEJEV1E7QWxFK3ZPbkI7O0Flcm1PUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFc3dPakI7QUFDRjs7QWU3bU9RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEU4d09qQjtBQUNGOztBb0V4eU9BOzs7OztFQUFBO0FDQUE7Ozs7O0VBQUE7QUNjQTtFQUNJLFlGSmE7RUVLYixXRkxhO0FwRTh5T2pCOztBc0V0eU9BO0VBQ0ksWUFBQTtFQUNBLFdBQUE7QXRFeXlPSjtBc0V2eU9JO0VBQ0ksUUFBQTtBdEV5eU9SOztBc0VyeU9BO0VBSUksNkJDckJtQjtFRHNCbkIsMkJBQUE7RUFDQSxnQkNic0I7RURjdEIsY0FBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7RUFDQSxVQ3RCZ0I7RUR1QmhCLGlCQUFBO0VBQ0EsWUNyQmdCO0VEc0JoQixvQkFBQTtFQUNBLDJIQUFBO0VBQUEsbUhBQUE7QXRFcXlPSjtBc0VueU9JO0VBQ0ksNkJDbkNlO0VEb0NmLFVDN0JrQjtBdkVrME8xQjtBc0VueU9RO0VBQ0kseUJyRThCSTtBRHV3T2hCO0FzRTd4T2dCOzs7Ozs7O0VBRUkseUJyRW9CSjtBRGd4T2hCO0FzRTl4T0k7RUFDSSw2QkN4RGU7QXZFdzFPdkI7QXNFOXhPUTtFQUNJLHlCckVVSTtBRHN4T2hCO0FzRXh4T2dCOzs7Ozs7O0VBRUkseUJBQUE7QXRFK3hPcEI7QXNFenhPSTtFQUNJLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBdEUyeE9SO0FzRXh4T0k7RUF4RkEseUJyRTJFWTtFcUUxRVosZ0JDZ0IwQjtFRGYxQixXQUFBO0VBQ0EsY0FBQTtFQUNBLFdDRmtCO0VER2xCLGtCQUFBO0VBQ0EsV0FBQTtBdEVtM09KO0FzRTl4T1E7RUFDSSxTQUFBO0F0RWd5T1o7QXNFN3hPUTtFQUNJLFFDOUVZO0F2RTYyT3hCO0FzRTN4T0k7RUFDSSxVQUFBO0F0RTZ4T1I7O0F3RWw0T1k7RUFDSSxNQUFBO0F4RXE0T2hCO0F3RW40T2dCO0VBQ0ksZ0NBQUE7VUFBQSx3QkFBQTtBeEVxNE9wQjtBd0VsNE9nQjtFQUNJLGFBQUE7QXhFbzRPcEI7QXdFajRPZ0I7RUFDSSxpQ0FBQTtVQUFBLHlCQUFBO0F4RW00T3BCOztB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Y2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBEZWZhdWx0IGNvbG9ycyAqL1xuLyogUHJpbWFyeSBjb2xvcnMgKi9cbi8qIEN1c3RvbSBjb2xvcnMgKi9cbi8qIFN0YXRlcyBjb2xvciAqL1xuLyogT3V0bGluZXMgY29sb3JzICovXG4vKiBPdmVybGF5cyAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjguMVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICosIFtkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGludGVudD10b3VjaF0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKixcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKixcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT04MGVtJnh4bGFyZ2U9OTBlbVwiO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAyMnB4O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxLjY3MDkwOTA5MDlyZW07XG4gIG1hcmdpbjogMCAwIDAuNzI3MjcyNzI3M3JlbTtcbiAgcGFkZGluZzogMC4zNjM2MzYzNjM2cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5bdHlwZT10ZXh0XTpmb2N1cywgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLCBbdHlwZT1kYXRlXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLCBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsIFt0eXBlPW1vbnRoXTpmb2N1cywgW3R5cGU9d2Vla106Zm9jdXMsIFt0eXBlPWVtYWlsXTpmb2N1cywgW3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9c2VhcmNoXTpmb2N1cywgW3R5cGU9dGVsXTpmb2N1cywgW3R5cGU9dGltZV06Zm9jdXMsIFt0eXBlPXVybF06Zm9jdXMsIFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzRjNGM0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjN2E5ODk5O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG5cblt0eXBlPWZpbGVdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luOiAwIDAgMC43MjcyNzI3MjczcmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcblt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjM2MzYzNjM2MzZyZW07XG4gIG1hcmdpbi1yaWdodDogMC43MjcyNzI3MjczcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWxbZm9yXSxcblt0eXBlPXJhZGlvXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9Y2hlY2tib3hdLFxubGFiZWwgPiBbdHlwZT1yYWRpb10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMzYzNjM2MzYzNnJlbTtcbn1cblxuW3R5cGU9ZmlsZV0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAwLjcyNzI3MjcyNzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICBwYWRkaW5nOiAwLjQwOTA5MDkwOTFyZW0gMDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjM2MzYzNjM2MzZyZW07XG4gIGZvbnQtc2l6ZTogMC41OTA5MDkwOTA5cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43MjcyNzI3MjczcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBiYWNrZ3JvdW5kOiAjYzhkNmQ2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNjM2MzYzNjM2cmVtO1xufVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDAuODE4MTgxODE4MnJlbSAwO1xuICBwYWRkaW5nOiAwLjkwOTA5MDkwOTFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3YTk4OTk7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTM2MzYzNjM2NHJlbTtcbiAgcGFkZGluZzogMCAwLjEzNjM2MzYzNjRyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMS42NzA5MDkwOTA5cmVtO1xuICBtYXJnaW46IDAgMCAwLjcyNzI3MjcyNzNyZW07XG4gIHBhZGRpbmc6IDAuMzYzNjM2MzYzNnJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogcmdiJTI4NzYsIDc2LCA3OCUyOVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMC43MjcyNzI3MjczcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjA5MDkwOTA5MDlyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGM0YzRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICM3YTk4OTk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDIyOS41LCAyMjkuNSk7XG59XG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC4zNjM2MzYzNjM2cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjcyNzI3MjcyNzNyZW07XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuMzY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLCAuaDYgc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuMDkwOTA5MDkwOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMC44NjM2MzYzNjM2cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAwLjc3MjcyNzI3MjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi4xODE4MTgxODE4cmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS44MTgxODE4MTgycmVtO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS40MDkwOTA5MDkxcmVtO1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xMzYzNjM2MzY0cmVtO1xuICB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMC45MDkwOTA5MDkxcmVtO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xuICB9XG59XG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA1OC4xODE4MTgxODE4cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMC45MDkwOTA5MDkxcmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3YTk4OTk7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS4zNjtcbn1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxudWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuZGwgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjQwOTA5MDkwOTFyZW0gMC45MDkwOTA5MDkxcmVtIDAgMC44NjM2MzYzNjM2cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM3YTk4OTk7XG59XG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgY29sb3I6ICM0YzRjNGU7XG59XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMDkwOTA5MDkwOXJlbSAwLjE4MTgxODE4MThyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNGM0YzRlO1xufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMjcuNXB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2l0ZS1ibG9jaywgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzRjNGM0ZTtcbiAgZm9udC1zaXplOiAwLjU5MDkwOTA5MDlyZW07XG59XG4uY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJQgXCI7XG59XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3YTk4OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGQ2ZDY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4wOTA5MDkwOTA5cmVtIDAuMjI3MjcyNzI3M3JlbSAwLjA0NTQ1NDU0NTVyZW07XG59XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRjNGM0ZTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIG1heC13aWR0aDogNTguMTgxODE4MTgxOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2VsbC5hdXRvIHtcbiAgZmxleDogMSAxIDA7XG59XG4uY2VsbC5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG4uZ3JpZC14ID4gLnNtYWxsLTEyLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xuICBtYXJnaW4tbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiBjYWxjKDc1JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbn1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG59XG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLmdyaWQteSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLmdyaWQteSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteSA+IC5zbWFsbC0xMiwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjkwOTA5MDkwOTFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuLnJvdyB7XG4gIG1heC13aWR0aDogNTguMTgxODE4MTgxOHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5yb3cgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucm93LmV4cGFuZGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnJvdy5leHBhbmRlZCAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ucm93LmlzLWNvbGxhcHNlLWNoaWxkLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY4MTgxODE4MThyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjY4MTgxODE4MThyZW07XG4gIH1cbn1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtdXAtNCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG59XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEyLjUlO1xuICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC40NTQ1NDU0NTQ1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDU0NTQ1NDU0NXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTA5MDkwOTA5MXJlbTtcbn1cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM2MzYzNjM2MzZyZW07XG4gIH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMTZweCA1NnB4O1xuICBib3JkZXI6IDAgbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b24udGlueSB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAxMjcuMiwgMTgxLjYpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhOTg5OTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTUuNDg5MzYxNzAyMSwgMTIzLjU3NDQ2ODA4NTEsIDEyNC41MTA2MzgyOTc5KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVhYTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ODgwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ODAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMTA4LjgsIDApO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwOTc1MDtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4uYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigwLCA3NS41LCA0MCk7XG4gIGNvbG9yOiByZ2IoMCwgNzUuNSwgNDApO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTM7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDc5LjUsIDExMy41KTtcbiAgY29sb3I6IHJnYigwLCA3OS41LCAxMTMuNSk7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBjb2xvcjogIzdhOTg5OTtcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoNTkuNjgwODUxMDYzOCwgNzcuMjM0MDQyNTUzMiwgNzcuODE5MTQ4OTM2Mik7XG4gIGNvbG9yOiByZ2IoNTkuNjgwODUxMDYzOCwgNzcuMjM0MDQyNTUzMiwgNzcuODE5MTQ4OTM2Mik7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1YWEwMDtcbiAgY29sb3I6ICM1NWFhMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoNDIuNSwgODUsIDApO1xuICBjb2xvcjogcmdiKDQyLjUsIDg1LCAwKTtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY4ODAwO1xuICBjb2xvcjogI2ZmODgwMDtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMjcuNSwgNjgsIDApO1xuICBjb2xvcjogcmdiKDEyNy41LCA2OCwgMCk7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDA7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTI3LjUsIDAsIDApO1xuICBjb2xvcjogcmdiKDEyNy41LCAwLCAwKTtcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzAwOTc1MDtcbn1cbi5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBjb2xvcjogcmdiKDAsIDc1LjUsIDQwKTtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogcmdiKDAsIDc5LjUsIDExMy41KTtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogcmdiKDU5LjY4MDg1MTA2MzgsIDc3LjIzNDA0MjU1MzIsIDc3LjgxOTE0ODkzNjIpO1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM1NWFhMDA7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoNDIuNSwgODUsIDApO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZjg4MDA7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDY4LCAwKTtcbn1cbi5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEyNy41LCAwLCAwKTtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC40ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuNGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDU2cHg7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwOTc1MDtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwOWZlMztcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3YTk4OTk7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM1NWFhMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZjg4MDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmMDAwMDtcbn1cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICB0b3A6IC0wLjFlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7XG59XG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTI3LjIsIDE4MS42KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhOTg5OTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDk1LjQ4OTM2MTcwMjEsIDEyMy41NzQ0NjgwODUxLCAxMjQuNTEwNjM4Mjk3OSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVhYTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDg4MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ODAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDQsIDEwOC44LCAwKTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwOTc1MDtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgNzUuNSwgNDApO1xuICBjb2xvcjogcmdiKDAsIDc1LjUsIDQwKTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwOWZlMztcbiAgY29sb3I6ICMwMDlmZTM7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigwLCA3OS41LCAxMTMuNSk7XG4gIGNvbG9yOiByZ2IoMCwgNzkuNSwgMTEzLjUpO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDU5LjY4MDg1MTA2MzgsIDc3LjIzNDA0MjU1MzIsIDc3LjgxOTE0ODkzNjIpO1xuICBjb2xvcjogcmdiKDU5LjY4MDg1MTA2MzgsIDc3LjIzNDA0MjU1MzIsIDc3LjgxOTE0ODkzNjIpO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTVhYTAwO1xuICBjb2xvcjogIzU1YWEwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDQyLjUsIDg1LCAwKTtcbiAgY29sb3I6IHJnYig0Mi41LCA4NSwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjg4MDA7XG4gIGNvbG9yOiAjZmY4ODAwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTI3LjUsIDY4LCAwKTtcbiAgY29sb3I6IHJnYigxMjcuNSwgNjgsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDA7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEyNy41LCAwLCAwKTtcbiAgY29sb3I6IHJnYigxMjcuNSwgMCwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzAwOTc1MDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6IHJnYigwLCA3NS41LCA0MCk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzAwOWZlMztcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6IHJnYigwLCA3OS41LCAxMTMuNSk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6IHJnYig1OS42ODA4NTEwNjM4LCA3Ny4yMzQwNDI1NTMyLCA3Ny44MTkxNDg5MzYyKTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjNTVhYTAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogcmdiKDQyLjUsIDg1LCAwKTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmY4ODAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEyNy41LCA2OCwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6IHJnYigxMjcuNSwgMCwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiB7XG4gIG1hcmdpbi1yaWdodDogLTAuMDQ1NDU0NTQ1NXJlbTtcbn1cbi5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uICsgLmJ1dHRvbiB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM0YzRjNGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgcmlnaHQ6IDAuNjZyZW07XG4gIHRvcDogMC4zM2VtO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24ge1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmxhYmVsLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDA5ZmUzO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5sYWJlbC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjN2E5ODk5O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzU1YWEwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZjg4MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2ZmMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5icmVhZGNydW1iczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBjb2xvcjogIzdhOTg5OTtcbn1cbi5icmVhZGNydW1icyBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjN2E5ODk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5jYWxsb3V0LnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEyLjU1LCAyNDIuMjgzNzAwNDQwNSwgMjU1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM1LjA1LCAyMzkuNTUsIDIzOS43KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOS41LCAyNTUsIDIwNCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDIzNy4xNSwgMjE2Ljc1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDIxNi43NSwgMjE2Ljc1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4uY2FsbG91dC5sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xufVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA0NTQ1NDU0NTVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBkaXNwbGF5OiBub25lO1xufVxuLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4ucGFnaW5hdGlvbiBhLFxuLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMTM2MzYzNjM2NHJlbSAwLjQ1NDU0NTQ1NDVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjOGQ2ZDY7XG59XG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIHBhZGRpbmc6IDAuMTM2MzYzNjM2NHJlbSAwLjQ1NDU0NTQ1NDVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjEzNjM2MzYzNjRyZW0gMC40NTQ1NDU0NTQ1cmVtO1xuICBjb2xvcjogIzdhOTg5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gIHBhZGRpbmc6IDAuMTM2MzYzNjM2NHJlbSAwLjQ1NDU0NTQ1NDVyZW07XG4gIGNvbnRlbnQ6IFwi4oCmXCI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiO1xufVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjtcbn1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjNGM0YzRlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50b29sdGlwOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbiAgYm90dG9tOiAxMDAlO1xufVxuLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG59XG4udG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICBsZWZ0OiAxMDAlO1xufVxuLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMTAlO1xufVxuLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICBib3R0b206IDEwJTtcbiAgdG9wOiBhdXRvO1xufVxuLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMTAlO1xuICByaWdodDogYXV0bztcbn1cbi50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAlO1xufVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGQ2ZDY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGQ2ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbn1cbi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBjb250ZW50OiBcIitcIjtcbn1cbi5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAk1wiO1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbjpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M4ZDZkNjtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjcyNzI3MjcyNzNyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4ucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4ucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbi5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuLmZsZXgtdmlkZW8gaWZyYW1lLFxuLmZsZXgtdmlkZW8gb2JqZWN0LFxuLmZsZXgtdmlkZW8gZW1iZWQsXG4uZmxleC12aWRlbyB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4ZDZkNjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi50YWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDtcbn1cbi50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwOWZlMztcbn1cbi50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2IoMCwgMTUxLjA1LCAyMTUuNjUpO1xufVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnRhYnMtdGl0bGUgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudGFicy10aXRsZSA+IGEge1xuICBvdXRsaW5lOiAwO1xufVxuLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6IGJsYWNrO1xufVxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNjOGQ2ZDY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4ZDZkNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLm1lbnUgbGkge1xuICBvdXRsaW5lOiAwO1xufVxuLm1lbnUgYSxcbi5tZW51IC5idXR0b24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4ubWVudSBpbnB1dCxcbi5tZW51IHNlbGVjdCxcbi5tZW51IGEsXG4ubWVudSBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5tZW51LnZlcnRpY2FsIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaSxcbi5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5tZW51LmV4cGFuZGVkIGxpIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm1lbnUuc2ltcGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5zaW1wbGUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5pY29ucyBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbi5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5pY29uLWxlZnQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXRvcCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMwMDlmZTM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMDA5ZmUzO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaXMtZHJpbGxkb3duIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDlmZTM7XG59XG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICB9XG59XG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyO1xufVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0O1xufVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1O1xufVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xufVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDtcbn1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50O1xufVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03O1xufVxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7XG4gIH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpO1xuICB9XG59XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47XG59XG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jY3ctMXR1cm47XG59XG5Aa2V5ZnJhbWVzIHNwaW4tY2N3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7XG4gIH1cbn1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZztcbn1cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTtcbiAgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTtcbiAgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbERvd25JbmZpbml0ZSB7XG4gIDAlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICA1MCUge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4vKlxuICogenVyYl9mb3VuZGF0aW9uLnNjc3MgLSBDb250YWlucyBhbGwgRHJ1cGFsLXNwZWNpZmljIFNBU1MgZm9yIHRoaXMgdGhlbWUuXG4gKlxuICogQHRvZG8gU3BsaXQgdGhpcyBpbnRvIG11bHRpcGxlIGZvbGRlcnMvZmlsZXMuXG4qL1xuLnJlZ2lvbi1oaWdobGlnaHRlZDplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b29sYmFyLXRyYXkgYSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRvb2xiYXIgLnRvb2xiYXItdG9nZ2xlLW9yaWVudGF0aW9uIC50b29sYmFyLWljb24ge1xuICBtYXJnaW46IDA7XG59XG4udG9vbGJhciAudG9vbGJhci10b2dnbGUtb3JpZW50YXRpb24gLnRvb2xiYXItaWNvbjpiZWZvcmUge1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIGEuaXMtYWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5uby1qcyAudG9wLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vLWpzIC50b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubm8tanMgLnRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuYm9keS50b29sYmFyLWZpeGVkIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xuICBtYXJnaW4tdG9wOiAzOXB4O1xufVxuXG5ib2R5LnRvb2xiYXItZml4ZWQudG9vbGJhci1ob3Jpem9udGFsLnRvb2xiYXItdHJheS1vcGVuIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xuICBtYXJnaW4tdG9wOiA3OHB4O1xufVxuXG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtYmFyIC5tZW51LWl0ZW0tLWNvbGxhcHNlZCxcbi50b3AtYmFyIC5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRvcC1iYXIgLnNlYXJjaC1ibG9jay1mb3JtIC5mb3JtLWl0ZW0ta2V5cyxcbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZHJvcGJ1dHRvbi13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiYTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbn1cbi5kcm9wYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tcmVxdWlyZWQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDAgMC4zZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3VuZGF0aW9uL21pc2MvcmVxdWlyZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2cHggNnB4O1xufVxuXG4ubm9kZS1wcmV2aWV3LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ub2RlLXByZXZpZXctY29udGFpbmVyIC5ub2RlLXByZXZpZXctYmFja2xpbmsge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4ubm9kZS1wcmV2aWV3LWNvbnRhaW5lciBzZWxlY3Qge1xuICB3aWR0aDogYXV0bztcbn1cblxuI2VkaXQtY29tbWVudC1ib2R5LXdyYXBwZXIge1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbn1cblxuI3Rvb2xiYXItYWRtaW5pc3RyYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3Rvb2xiYXItYWRtaW5pc3RyYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgYm9keS50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLXZlcnRpY2FsLnRvb2xiYXItZml4ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIGJvZHkuYWRtaW5pbWFsLWFkbWluLXRvb2xiYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLmpzLWZvcm0tdHlwZS1zZWxlY3QgbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaW50ZXJwdW1wXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXJwdW1wL2ludGVycHVtcC5lb3Q/MTQyODYwMDhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXJwdW1wL2ludGVycHVtcC5lb3Q/MTQyODYwMDgjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ludGVycHVtcC9pbnRlcnB1bXAud29mZjI/MTQyODYwMDhcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ludGVycHVtcC9pbnRlcnB1bXAud29mZj8xNDI4NjAwOFwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9pbnRlcnB1bXAvaW50ZXJwdW1wLnR0Zj8xNDI4NjAwOFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaW50ZXJwdW1wL2ludGVycHVtcC5zdmc/MTQyODYwMDgjaW50ZXJwdW1wXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogSUJNIFBsZXggU2FucyBSZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogbG9jYWwoXCJcIiksIHVybChcIi4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4vKiBJQk0gUGxleCBTYW5zIEl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4vKiBJQk0gUGxleCBTYW5zIE1lZGl1bSovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogbG9jYWwoXCJcIiksIHVybChcIi4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi8qIElCTSBQbGV4IFNhbnMgTWVkaXVtIEl0YWxpYyovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogbG9jYWwoXCJcIiksIHVybChcIi4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtTWVkaXVtSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbi8qIElCTSBQbGV4IFNhbnMgQm9sZCovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogbG9jYWwoXCJcIiksIHVybChcIi4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5bY2xhc3NePWljbi1dOmJlZm9yZSwgW2NsYXNzKj1pY24tXTpiZWZvcmUsIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWljb246YmVmb3JlLCAubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudCBhLm1lZGlhLWV4cGFuZDpiZWZvcmUsIC5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEubWVkaWEtZG93bmxvYWQ6YmVmb3JlLCAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IGE6YWZ0ZXIsIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLXByZXZpb3VzIGE6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5leHQ6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1wcmV2OmJlZm9yZSwgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCBsaTphZnRlciwgLm1tLW1lbnUgLm1tLXBhbmVsIC5tbS1idG5fcHJldjpiZWZvcmUsIGhlYWRlci5wYWdlSGVhZGVyIGEuc2VhcmNoLW1vZGFsLWJ1dHRvbi5vcGVuOmJlZm9yZSwgaGVhZGVyLnBhZ2VIZWFkZXIgYS5zZWFyY2gtbW9kYWwtYnV0dG9uOmJlZm9yZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3JlLFxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWljb246YmVmb3JlLCAuc2Nyb2xsLWRvd246YWZ0ZXIsIGEubGluay1lbWFpbDpiZWZvcmUsIGEubGluay1leHRlcm5hbDpiZWZvcmUsIGEubGluay1kb3dubG9hZDpiZWZvcmUsIGEucGRmLWljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGludGVycHVtcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljbi1tb3JlLWhvcml6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG59XG5cbi5pY24tbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDFcIjtcbn1cblxuLmljbi1tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAyXCI7XG59XG5cbi5pY24tdGlja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAzXCI7XG59XG5cbi5pY24tdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDRcIjtcbn1cblxuLmljbi1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG59XG5cbi5pY24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA2XCI7XG59XG5cbi5pY24tZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG59XG5cbi5pY24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDhcIjtcbn1cblxuLmljbi1kcm9wZG93bi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7XG59XG5cbi5pY24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwYVwiO1xufVxuXG4uaWNuLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG59XG5cbi5pY24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG59XG5cbi5pY24tYXJyb3ctZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufVxuXG4uaWNuLWFycm93LWRyb3Bkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG59XG5cbi5pY24tYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGZcIjtcbn1cblxuLmljbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7XG59XG5cbi5pY24tcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODExXCI7XG59XG5cbi5pY24tYXJyb3ctYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMlwiO1xufVxuXG4uaWNuLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG59XG5cbi5pY24tYXR0YWNobWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNFwiO1xufVxuXG4uaWNuLW1pbmktYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNlwiO1xufVxuXG4uaWNuLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODNmXCI7XG59XG5cbmh0bWw6bm90KC5mcm9udHBhZ2UpIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICM0NmIzODQ7XG59XG5cbio6Zm9jdXMge1xuICBvdXRsaW5lOiAwIG5vbmU7XG59XG5cbmJvZHkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbmJvZHkubm9zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5iZ0NvdmVyLCAuYmdDb3ZlckFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uYmdDb3ZlcjpiZWZvcmUsIC5iZ0NvdmVyQWJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJnQ292ZXJBYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogRWxldmF0aW9ucyAqL1xuLmVsZXZhdGlvbi1iYXNlLCAuZWxldmF0aW9uLTI0LCAuZWxldmF0aW9uLTE2LCAuZWxldmF0aW9uLTEyLCAuZWxldmF0aW9uLTA5LCAuZWxldmF0aW9uLTA4LCAuZWxldmF0aW9uLTA2LCAuZWxldmF0aW9uLTA0LCAuZWxldmF0aW9uLTAzLCAuZWxldmF0aW9uLTAyLCAuZWxldmF0aW9uLTAxLCAuZWxldmF0aW9uLTAwIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xufVxuXG4uZWxldmF0aW9uLTAwIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAxIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAzIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTA0IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTA2IHtcbiAgYm94LXNoYWRvdzogMHB4IDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmVsZXZhdGlvbi0wOCB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5lbGV2YXRpb24tMDkge1xuICBib3gtc2hhZG93OiAwcHggOXB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTEyIHtcbiAgYm94LXNoYWRvdzogMHB4IDEycHggMThweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5lbGV2YXRpb24tMTYge1xuICBib3gtc2hhZG93OiAwcHggMTZweCAyNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmVsZXZhdGlvbi0yNCB7XG4gIGJveC1zaGFkb3c6IDBweCAyNHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udW5kZXJsaW5lZC10ZXh0LCAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtc3VidGl0bGUsIGEubGluay1tb3JlLCAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi51bmRlcmxpbmVkLXRleHQ6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCAuY2FyZC1zdWJ0aXRsZTphZnRlciwgYS5saW5rLW1vcmU6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgdG9wOiAxNHB4O1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG4vKiogTGlua3MgKiovXG5hIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICMwMDk3NTA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuYS5saW5rLWRvd25sb2FkLCBhLmxpbmstZXh0ZXJuYWwsIGEubGluay1lbWFpbCwgYS5saW5rLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsZXR0ZXItc3BhY2luZzogM3B4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiA4cHggOHB4IDhweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbmEubGluay1kb3dubG9hZDpiZWZvcmUsIGEubGluay1leHRlcm5hbDpiZWZvcmUsIGEubGluay1lbWFpbDpiZWZvcmUsIGEubGluay1pY29uOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwYWRkaW5nOiAxMnB4IDlweCAxMnB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbmEubGluay1kb3dubG9hZDpob3ZlciwgYS5saW5rLWV4dGVybmFsOmhvdmVyLCBhLmxpbmstZW1haWw6aG92ZXIsIGEubGluay1pY29uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYS5saW5rLWRvd25sb2FkOmhvdmVyOmJlZm9yZSwgYS5saW5rLWV4dGVybmFsOmhvdmVyOmJlZm9yZSwgYS5saW5rLWVtYWlsOmhvdmVyOmJlZm9yZSwgYS5saW5rLWljb246aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG59XG5hLmxpbmstZG93bmxvYWQ6aG92ZXI6YWZ0ZXIsIGEubGluay1leHRlcm5hbDpob3ZlcjphZnRlciwgYS5saW5rLWVtYWlsOmhvdmVyOmFmdGVyLCBhLmxpbmstaWNvbjpob3ZlcjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG59XG5hLmxpbmstZG93bmxvYWQ6YWZ0ZXIsIGEubGluay1leHRlcm5hbDphZnRlciwgYS5saW5rLWVtYWlsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDQ3cHg7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDdweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuYS5saW5rLWRvd25sb2FkOmJlZm9yZSwgYS5wZGYtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMVwiO1xufVxuYS5saW5rLWV4dGVybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG4gIGZvbnQtc2l6ZTogMC44MTgxODE4MTgycmVtO1xufVxuYS5saW5rLWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG4gIGZvbnQtc2l6ZTogMC44MTgxODE4MTgycmVtO1xufVxuYS5saW5rLW1vcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYSwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGEge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmEubGluay1tb3JlOmhvdmVyLCAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhOmhvdmVyLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6aG92ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYS5saW5rLW1vcmU6aG92ZXI6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6aG92ZXI6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTpob3ZlcjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwO1xufVxuYS5saW5rLWJ1dHRvbiwgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHBhZGRpbmc6IDE2cHggNTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbmEubGluay1idXR0b246aG92ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmEubGluay1pY29uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuYS5saW5rLWljb246YmVmb3JlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBTZXBhcmF0b3JzICovXG4uc2VwYXJhdG9yLCAuc2VwYXJhdG9yLWJvdHRvbSwgLnNlcGFyYXRvci1ib3R0b20tc21hbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNlcGFyYXRvci1ib3R0b206YWZ0ZXIsIC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgbWFyZ2luLXRvcDogMTRweDtcbn1cblxuLnNlcGFyYXRvci1ib3R0b20tc21hbGw6YWZ0ZXIge1xuICB3aWR0aDogMzVweDtcbn1cblxuLnZpZGVvLXdyYXBwZXIgLnZpZGVvLWNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTtcbn1cbi52aWRlby13cmFwcGVyIC52aWRlby1jb3ZlciBpbWcge1xuICBoZWlnaHQ6IDM1MHB4O1xufVxuLnZpZGVvLXdyYXBwZXIgI3ZpZGVvLWhvbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi52aWRlby13cmFwcGVyIC52aWRlby10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAwO1xufVxuLnZpZGVvLXdyYXBwZXIgLnZpZGVvLXRleHQgcCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogNjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnZpZGVvLXdyYXBwZXIgLnZpZGVvLXRleHQgPiBwID4gZGl2IHtcbiAgei1pbmRleDogMDtcbn1cblxuLnNjcm9sbC1kb3duIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5zY3JvbGwtZG93bjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODE2XCI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGFuaW1hdGlvbjogc2Nyb2xsRG93bkluZmluaXRlIDEuNXMgaW5maW5pdGU7XG59XG4uc2Nyb2xsLWRvd24gcCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWJvZHkgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IC8qIFJpbXVvdmUgaSBjZXJjaGlldHRpIHByZWRlZmluaXRpICovXG4gIHBhZGRpbmc6IDA7IC8qIFJpbXVvdmUgaWwgcGFkZGluZyBwcmVkZWZpbml0byBkZWxsJ2VsZW5jbyAqL1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWJvZHkgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1ib2R5IHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiAjMDA5NzUwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi5iYXNpYy1pY29uOmJlZm9yZSwgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItaWNvbjpiZWZvcmUsIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdXN0b20tcm93LXdyYXBwZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgcGFkZGluZzogMjBweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS10aXRsZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWljb24ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODExXCI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20taWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUgc3BhbiwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlIC5maWVsZC0tbm9kZS1maWVsZC1zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tZGF0ZSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyLmF1ZGlvIC5jdXN0b20tcm93IC5jdXN0b20taWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZlwiO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciAuY3VzdG9tLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyOmhvdmVyIC5jdXN0b20tdGl0bGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZm9ybVtkYXRhLWJlZi1hdXRvLXN1Ym1pdF0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtbWluaWNhcmQuZmFuY3lib3gtY29udGVudCB7XG4gIHBhZGRpbmc6IDY0cHg7XG59XG4ubW9kYWwtbWluaWNhcmQuZmFuY3lib3gtY29udGVudCAuZmFuY3lib3gtYnV0dG9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG59XG4ubW9kYWwtbWluaWNhcmQuZmFuY3lib3gtY29udGVudCAubW9kYWwtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cbi5tb2RhbC1taW5pY2FyZC5mYW5jeWJveC1jb250ZW50IC5tb2RhbC1saW5rIC5tZWRpYS1saW5rIHtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLnRleHQtdG8taWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbjogYXV0bztcbn1cbi50ZXh0LXRvLWljb24uY2hlY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NoZWNrLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnRleHQtY2hlY2staWNvbiB7XG4gIGNvbG9yOiAjMDA5NzUwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnRhYnMge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnRhYnMgLnRhYnMtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZsb2F0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG4udGFicyAudGFicy10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi50YWJzIC50YWJzLXRpdGxlIGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4udGFicyAudGFicy10aXRsZSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlLCAudGFicyAudGFicy10aXRsZTpob3ZlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uc2Nyb2xsZXItdGFibGUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5pZnJhbWUge1xuICB3aWR0aDogMXB4O1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5oLXh4bCwgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIGgxLnBhZ2VUaXRsZSxcbi5oLXhsLFxuLmgtbCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCAuY2FyZC10aXRsZSxcbi5oLW0sXG4uYmxvY2stdW5zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlLFxuLmJsb2NrLXN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUsXG4uaC1zLFxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIGgzLnBhZ2VTdWJ0aXRsZSxcbi5oLXhzLFxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgaDIubm9kZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG9wYWNpdHk6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG59XG5cbi5ib2R5LWwsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtdGl0bGUsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC50ZXh0LWFsaWduLWNlbnRlcixcbi5ib2R5LW0sXG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyAuZmllbGQtLXNlYXJjaC1hcGktZXhjZXJwdCxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEsXG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUsXG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tZGF0ZSxcbi5ib2R5LXMsXG4ucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLWRhdGUgdGltZSxcbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIsXG4uYm9keS14cyxcbi5wYWdlTWV0YUhlYWRlcixcbmEubGluay1kb3dubG9hZCxcbmEubGluay1leHRlcm5hbCxcbmEubGluay1lbWFpbCxcbmEubGluay1pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbn1cblxuLyoqXG4gKiBTcGVyaW1lbnRhbGVcbiAqIFNpIHBvc3Nvbm8gc2VwY2lmaWNhcmUgaSB0YWcgaFggZSBwIG8gdW5hIGNsYXNzZSBjdXN0b20uXG4gKi9cbi5mb250LXdoaXRlLCBmb290ZXIucGFnZUZvb3RlciBwLFxuZm9vdGVyLnBhZ2VGb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZm9udC1ncmVlbiB7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuXG4jbWFpbi5jb2x1bW5zIGEsXG4jbWFpbi5jb2x1bW5zIGJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayBhI21haW4tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnRhYmxlLXNjcm9sbGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGhlYWQgdHIgdGgge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M4ZDZkNjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHRyIHRkIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyksXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LWxvbmcgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGksXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LWxvbmcgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAwcHggMDtcbiAgcGFkZGluZzogMCAwIDAgMjRweDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbCxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LWxvbmcgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbExpO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sID4gbGksXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC1sb25nIG9sID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogb2xMaTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbCA+IGxpOmJlZm9yZSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LWxvbmcgb2wgPiBsaTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKG9sTGkpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTA5MDkwOXJlbTtcbn1cblxuLmN0YUJ0biwgI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0sIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogMTZweCA1NnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG59XG4uY3RhQnRuOmhvdmVyLCAjYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayBmb3JtIGlucHV0W3R5cGU9c3VibWl0XTpob3ZlciwgLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZWQwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi8qKlxuICogR2VzdGlvbmUgY29uZmlndXJhemlvbmUgZWxlbWVudGkgcmVzcG9uc2l2ZVxuICoqL1xuLmgteHhsLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDEucGFnZVRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgteHhsLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDEucGFnZVRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNzI3MjcyNzI3M3JlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjkwOTA5MDkwOTFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmgteHhsLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDEucGFnZVRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuOTA5MDkwOTA5MXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjA5MDkwOTA5MDlyZW07XG4gIH1cbn1cblxuLmgteGwge1xuICBmb250LXNpemU6IDEuOTA5MDkwOTA5MXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuOTA5MDkwOTA5MXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgteGwge1xuICAgIGZvbnQtc2l6ZTogMi4zNjM2MzYzNjM2cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMzYzNjM2MzYzNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaC14bCB7XG4gICAgZm9udC1zaXplOiAyLjU0NTQ1NDU0NTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMi41NDU0NTQ1NDU1cmVtO1xuICB9XG59XG5cbi5oLWwsIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCAuY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS44MTgxODE4MTgycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgtbCwgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMi4xODE4MTgxODE4cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oLWwsIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCAuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjE4MTgxODE4MThyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMi41NDU0NTQ1NDU1cmVtO1xuICB9XG59XG5cbi5oLW0sIC5ibG9jay11bnN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUsIC5ibG9jay1zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjQ1NDU0NTQ1NDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjYzNjM2MzYzNjRyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oLW0sIC5ibG9jay11bnN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUsIC5ibG9jay1zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjM2MzYzNjM2NHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjgxODE4MTgxODJyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmgtbSwgLmJsb2NrLXVuc3Vic2NyaWJlLWJsb2NrIC5ibG9jay10aXRsZSwgLmJsb2NrLXN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS44MTgxODE4MTgycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMDkwOTA5MDkwOXJlbTtcbiAgfVxufVxuXG4uaC1zLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDMucGFnZVN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjA5MDkwOTA5MDlyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA5MDkwOTA5MDlyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oLXMsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMy5wYWdlU3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNzI3MjcyNzI3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTQ1NDU0NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaC1zLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDMucGFnZVN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNDU0NTQ1NDU0NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcyNzI3MjcyNzNyZW07XG4gIH1cbn1cblxuLmgteHMsIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGgyLm5vZGUtdGl0bGUge1xuICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oLXhzLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyBoMi5ub2RlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4wOTA5MDkwOTA5cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oLXhzLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyBoMi5ub2RlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDkwOTA5MDkwOXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG4gIH1cbn1cblxuLmJvZHktbCwgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS10aXRsZSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ib2R5LWwsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtdGl0bGUsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC50ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNjM2MzYzNjM2cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ib2R5LWwsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtdGl0bGUsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC50ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbiAgfVxufVxuXG4uYm9keS1tLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyAuZmllbGQtLXNlYXJjaC1hcGktZXhjZXJwdCwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4uc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4udW5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJvZHktbSwgLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgLmZpZWxkLS1zZWFyY2gtYXBpLWV4Y2VycHQsIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEsXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4gIC5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEsIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS10aXRsZSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYm9keS1tLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyAuZmllbGQtLXNlYXJjaC1hcGktZXhjZXJwdCwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICAudW5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tZGF0ZSB7XG4gICAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xODE4MTgxODE4cmVtO1xuICB9XG59XG5cbi5ib2R5LXMsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtZGF0ZSB0aW1lLCAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIge1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDAuNjM2MzYzNjM2NHJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJvZHktcywgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS1kYXRlIHRpbWUsIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciB7XG4gICAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ib2R5LXMsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtZGF0ZSB0aW1lLCAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuODE4MTgxODE4MnJlbTtcbiAgfVxufVxuXG4uYm9keS14cywgLnBhZ2VNZXRhSGVhZGVyLCBhLmxpbmstZG93bmxvYWQsIGEubGluay1leHRlcm5hbCwgYS5saW5rLWVtYWlsLCBhLmxpbmstaWNvbiB7XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYm9keS14cywgLnBhZ2VNZXRhSGVhZGVyLCBhLmxpbmstZG93bmxvYWQsIGEubGluay1leHRlcm5hbCwgYS5saW5rLWVtYWlsLCBhLmxpbmstaWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ib2R5LXhzLCAucGFnZU1ldGFIZWFkZXIsIGEubGluay1kb3dubG9hZCwgYS5saW5rLWV4dGVybmFsLCBhLmxpbmstZW1haWwsIGEubGluay1pY29uIHtcbiAgICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIH1cbn1cblxuLyoqXG4gKiBHZXN0aW9uZSBoYW1idXJnZXIgbWVudVxuICogTGlicmVyaWEgZGkgcmlmZXJpbWVudG86IGh0dHBzOi8vZ2l0aHViLmNvbS9rYXBva28vZGVsaWNpb3VzLWhhbWJ1cmdlcnNcbiAqIERlbW8gc3RpbGk6IGh0dHBzOi8va2Fwb2tvLmdpdGh1Yi5pby9kZWxpY2lvdXMtaGFtYnVyZ2Vycy9cbiAqIEluc3RhbGxhdGEgdHJhbWl0ZSBucG1cbiAqL1xuLyohXG4gKiBkZWxpY2lvdXMtaGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIEJlYXV0aWZ1bCBTQVNTIHBvd2VyZWQgaGFtYnVyZ2VyIG1lbnUgdG9nZ2xlIGJ1dHRvbnNcbiAqIEBhdXRob3IgS2FzcGVyIEtvbWFuXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXG4gKi9cbmJ1dHRvbi5oYW1idXJnZXIge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xufVxuXG5kaXYuaGFtYnVyZ2VyIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbn1cbmRpdi5oYW1idXJnZXIgPiAuaW5uZXIge1xuICB0b3A6IDUwJTtcbn1cblxuLmhhbWJ1cmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAgdHJhbnNwYXJlbnQgc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogaW5oZXJpdDtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG4uaGFtYnVyZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG59XG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbn1cbi5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDEpOjpiZWZvcmUsIC5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDEpOjphZnRlciwgLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMik6OmJlZm9yZSwgLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMik6OmFmdGVyLCAuaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgzKTo6YmVmb3JlLCAuaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgzKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgxKTo6YmVmb3JlLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMSk6OmFmdGVyLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMik6OmJlZm9yZSxcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDIpOjphZnRlcixcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgzKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLmhhbWJ1cmdlci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbn1cbi5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgxKTo6YmVmb3JlLCAuaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMSk6OmFmdGVyLCAuaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMik6OmJlZm9yZSwgLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDIpOjphZnRlciwgLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDMpOjpiZWZvcmUsIC5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgzKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMSk6OmJlZm9yZSxcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgxKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMik6OmJlZm9yZSxcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgyKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMyk6OmJlZm9yZSxcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgzKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLmhhbWJ1cmdlciA+IC5pbm5lciB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5oYW1idXJnZXIgc3Bhbi5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaGFtYnVyZ2VyIHNwYW4uYmFyOm50aC1jaGlsZCgxKSB7XG4gIHRvcDogLThweDtcbn1cbi5oYW1idXJnZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpIHtcbiAgdG9wOiA4cHg7XG59XG4uaGFtYnVyZ2VyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmhhbWJ1cmdlci0tZGVmYXVsdC5hY3RpdmUgc3Bhbi5iYXIge1xuICB0b3A6IDA7XG59XG4uaGFtYnVyZ2VyLS1kZWZhdWx0LmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uaGFtYnVyZ2VyLS1kZWZhdWx0LmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMikge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhbWJ1cmdlci0tZGVmYXVsdC5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MgPiAuaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MgPiAuaW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MgPiAuaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtNC42ODYyOTE1MDFweCwgLTExLjMxMzcwODQ5OXB4LCAwKSBzY2FsZVgoMCk7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyA+IC5pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC00LjY4NjI5MTUwMXB4LCAxMS4zMTM3MDg0OTlweCwgMCkgc2NhbGVYKDApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3Mgc3Bhbi5iYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIHdpZHRoIDAuNHMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3Mgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zM3M7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyBzcGFuLmJhcjpudGgtY2hpbGQoMikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM2cztcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzIHNwYW4uYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMzlzO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MuYWN0aXZlID4gLmlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLWNyaXNzLWNyb3NzLmFjdGl2ZSA+IC5pbm5lcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MuYWN0aXZlID4gLmlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLTQuNjg2MjkxNTAxcHgsIC0xMS4zMTM3MDg0OTlweCwgMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgPiAuaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtNC42ODYyOTE1MDFweCwgMTEuMzEzNzA4NDk5cHgsIDApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MuYWN0aXZlIHNwYW4uYmFyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIHdpZHRoOiA1MCU7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDIpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuXG4vKlxuQGltcG9ydCBcImFuaW1hdGlvbnMvYXBwbGVcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2Fycm93XCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcnJvdy1yaWdodFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvc3BpblwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL21pbmltYWxcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2RpdmVcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL3N0YWNrXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jb252ZXJnZVwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvdHdpc3RcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL21hZ25ldGljXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jaG9wXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9wYXJhbGxlbFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvdmVydGljYWxcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL3B1c2hcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2ZsYXR0ZW5cIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL3NpbXBsZVwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvc2hlbGZcIjsqL1xuLyoqXG4gKiBHZXN0aW9uZSBvdXRkYXRlZCBicm93c2VyXG4gKiBMaWJyZXJpYSBkaSByaWZlcmltZW50bzogaHR0cHM6Ly9naXRodWIuY29tL21pa2VtYWNjYW5hL291dGRhdGVkLWJyb3dzZXItcmV3b3JrXG4gKiBEZW1vOiBodHRwczovL21pa2VtYWNjYW5hLmdpdGh1Yi5pby9vdXRkYXRlZC1icm93c2VyLXJld29yay9cbiAqL1xuI291dGRhdGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDI0cHggMjRweCAwO1xuICB6LWluZGV4OiAxNTAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNvdXRkYXRlZCAudmVydGljYWwtY2VudGVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI291dGRhdGVkIGg2IHtcbiAgbWFyZ2luOiAxMnB4IDA7XG4gIGZvbnQtc2l6ZTogMS4wOTA5MDkwOTA5cmVtO1xuICBsaW5lLWhlaWdodDogMS4wOTA5MDkwOTA5cmVtO1xufVxuI291dGRhdGVkIHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBsaW5lLWhlaWdodDogMC41NDU0NTQ1NDU1cmVtO1xufVxuI291dGRhdGVkICNidXR0b25VcGRhdGVCcm93c2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDIzMHB4O1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jb3V0ZGF0ZWQgI2J1dHRvblVwZGF0ZUJyb3dzZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG4jb3V0ZGF0ZWQgLmxhc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDcwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbn1cbiNvdXRkYXRlZCAubGFzdFtkaXI9cnRsXSB7XG4gIGxlZnQ6IDI1cHggIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbiNvdXRkYXRlZCAjYnV0dG9uQ2xvc2VVcGRhdGVCcm93c2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjYzNjM2MzYzNjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYzNjM2MzYzNjRyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNvdXRkYXRlZC5mdWxsc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKipcbiAqIEdlc3Rpb25lIEZhbmN5Ym94XG4gKiBMaWJyZXJpYSBkaSByaWZlcmltZW50bzogaHR0cHM6Ly9naXRodWIuY29tL2ZhbmN5YXBwcy9mYW5jeWJveFxuICogRG9jdW1lbnRhemlvbmU6IGh0dHBzOi8vb2J1LmVkdS9fcmVzb3VyY2VzL2xkcC9nYWxsZXJpZXMvZmFuY3lib3gvXG4gKiAgICAgICAgICAgICAgICAgaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMjEwMzI1MTcwOTQwL2h0dHBzOi8vZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8zL2RvY3MvXG4gKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudWwuc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiBhdXRvO1xuICBmb250LXNpemU6IDA7XG59XG51bC5zbGljay1kb3RzIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIG1hcmdpbjogMCA3cHg7XG59XG51bC5zbGljay1kb3RzIGxpOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxudWwuc2xpY2stZG90cyBsaSAuYnRuUGFnZXIge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIHBhZGRpbmc6IDA7XG59XG51bC5zbGljay1kb3RzIGxpIC5idG5QYWdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxudWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgLmJ0blBhZ2VyOmJlZm9yZSB7XG4gIGhlaWdodDogN3B4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuXG4uc2xpY2stYXJyb3cge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi5zbGljay1hcnJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc2xpY2stYXJyb3c6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNsaWNrLWFycm93IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc2xpY2stYXJyb3cgc3BhbjpiZWZvcmUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dCBzcGFuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG59XG4uc2VsZWN0Mi1jb250YWluZXIgKiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDgwcHggMjBweCAyMHB4O1xuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBwYWRkaW5nOiA1cHggMzBweCAxMHB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gIG1hcmdpbjogNXB4IDVweCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkuc2VsZWN0Mi1zZWFyY2gtLWlubGluZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCBsaS5zZWxlY3QyLXNlYXJjaC0taW5saW5lIGlucHV0IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzI3MjcyNzI3M3JlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgdWwuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW46IDVweCA1cHggMCAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCBsaS5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgdWwuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Ugc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuZHJvcGRvd24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiLFxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyIGIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3JlLFxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzpiZWZvcmUsXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBhZGRpbmc6IDZweCAyMHB4O1xufVxuLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uaXViX2NvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZU1ldGFIZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZiMzg0O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5wYWdlTWV0YUhlYWRlciAubWV0YUhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNDBweDtcbn1cbi5wYWdlTWV0YUhlYWRlciAubWV0YUhlYWRlciAubWV0YUhlYWRlci1sZWZ0IHtcbiAgZmxleC1ncm93OiAxO1xufVxuLnBhZ2VNZXRhSGVhZGVyIC5tZXRhSGVhZGVyIC5tZXRhSGVhZGVyLWxlZnQgLnN0b2NrLWV4cGVydCB7XG4gIGhlaWdodDogNDJweDtcbiAgd2lkdGg6IDE4MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4td2lkdGg6IGF1dG87XG59XG4ucGFnZU1ldGFIZWFkZXIgLm1ldGFIZWFkZXIgLm1ldGFIZWFkZXItbGVmdCAuc3RvY2stZXhwZXJ0IGh0bWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBhZ2VNZXRhSGVhZGVyIC5tZXRhSGVhZGVyIC5tZXRhSGVhZGVyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucGFnZU1ldGFIZWFkZXIgLm1ldGFIZWFkZXIgdWwubWVudSBsaSBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oZWFkZXIucGFnZUhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNzVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmRyb3Bkb3duLW9wZW4gLmhlYWRlck1haW4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5oZWFkZXIucGFnZUhlYWRlci5kcm9wZG93bi1vcGVuIC5oZWFkZXJNYWluIC5tZW51LmRyb3Bkb3duID4gbGk6bm90KC5hY3RpdmUtdHJhaWwpID4gYTpub3QoOmhvdmVyKSxcbmhlYWRlci5wYWdlSGVhZGVyLmRyb3Bkb3duLW9wZW4gLmhlYWRlck1haW4gLnNlYXJjaC1tb2RhbC1idXR0b246bm90KDpob3ZlciksXG5oZWFkZXIucGFnZUhlYWRlci5kcm9wZG93bi1vcGVuIC5oZWFkZXJNYWluIC5sYW5ndWFnZS1saW5rOm5vdCg6aG92ZXIpIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmRyb3Bkb3duLW9wZW4gLmhlYWRlck1haW4gYS5sb2dvIHN2ZyAjdGV4dCB7XG4gIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5ncmlkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLXRvcCB7XG4gIGhlaWdodDogMTQwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApICFpbXBvcnRhbnQ7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApICFpbXBvcnRhbnQ7XG59XG5oZWFkZXIucGFnZUhlYWRlciAuaGVhZGVyTWFpbkdyaWQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluR3JpZCAuaGVhZGVyTWFpblJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW5HcmlkIC5oZWFkZXJNYWluUmlnaHQgLmNvbnRleHR1YWwtcmVnaW9uIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG59XG5oZWFkZXIucGFnZUhlYWRlciBhLmxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5oZWFkZXIucGFnZUhlYWRlciBhLmxvZ28gc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDcwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyBzdmcgKiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5oZWFkZXIucGFnZUhlYWRlciAuYmxvY2stdHQtZm91bmRhdGlvbi1tYWluLW1lbnUge1xuICBmbGV4LWdyb3c6IDE7XG59XG5oZWFkZXIucGFnZUhlYWRlciAuYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayAqIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEuc2VhcmNoLW1vZGFsLWJ1dHRvbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5zZWFyY2gtbW9kYWwtYnV0dG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA2XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDIycHg7XG59XG5oZWFkZXIucGFnZUhlYWRlciBhLnNlYXJjaC1tb2RhbC1idXR0b24ub3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwYlwiO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5zZWFyY2gtbW9kYWwtYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwOTc1MDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50b29sYmFyLXZlcnRpY2FsIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS10b3Age1xuICAgIHRvcDogMzlweDtcbiAgfVxuICAubW0tb3BlbmluZyAudG9vbGJhci12ZXJ0aWNhbCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tdG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnRvb2xiYXItZml4ZWQgaGVhZGVyLnBhZ2VIZWFkZXIsIC50b29sYmFyLWhvcml6b250YWwgaGVhZGVyLnBhZ2VIZWFkZXIsIC50b29sYmFyLXRyYXktb3BlbiBoZWFkZXIucGFnZUhlYWRlciB7XG4gICAgdG9wOiAzOXB4O1xuICB9XG4gIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIHRvcDogODNweDtcbiAgfVxuICAudG9vbGJhci1maXhlZCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCwgLnRvb2xiYXItaG9yaXpvbnRhbCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCwgLnRvb2xiYXItdHJheS1vcGVuIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICB0b3A6IDM5cHg7XG4gIH1cbiAgLnRvb2xiYXItaG9yaXpvbnRhbC50b29sYmFyLXRyYXktb3BlbiBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgdG9wOiA4M3B4O1xuICB9XG59XG5cbi8qXG4gKiBTdGlsaSBjb211bmkgcGVyIGNvbXBvcnRhbWVudG8gYXBlcnRvIGUgc2Nyb2xsXG4gKi9cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgLnBhZ2VNZXRhSGVhZGVyLFxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duIC5wYWdlTWV0YUhlYWRlcixcbmhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAucGFnZU1ldGFIZWFkZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgLmhlYWRlck1haW5HcmlkLFxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duIC5oZWFkZXJNYWluR3JpZCxcbmhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAuaGVhZGVyTWFpbkdyaWQge1xuICBoZWlnaHQ6IDc1cHg7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIGEubG9nbyBzdmcsXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZURvd24gYS5sb2dvIHN2ZyxcbmhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCBhLmxvZ28gc3ZnIHtcbiAgaGVpZ2h0OiA1NXB4O1xufVxuXG4vKipcbiAqIEhlYWRyb29tIC0gbWVudSBub24gYXR0YWNjYXRvIGluIHBhZ2luYSBtYSBzY3JvbGwgZG93blxuICogLSBOYXNjb25kbyBsYSBiYXJyYSBpbiBhbHRvIGRlaSBmb2xsb3dcbiAqIC0gUmlkdWNvIGxhIGRpbWVuc2lvbmUgZGVsIGxvZ28gZSBsbyBzcGF6aW9cbiAqL1xuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVVcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQwcHgpO1xufVxuXG4vKipcbiAqIEhlYWRyb29tIC0gbWVudSBub24gYXR0YWNjYXRvIGluIHBhZ2luYSBtYSBzY3JvbGwgdXBcbiAqL1xuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3AgYTpub3QoW3JvbGU9bWVudWl0ZW1dKTpub3QoOmhvdmVyKSB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDc1cHg7XG59XG5cbi5oYW1idXJnZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5odG1sLm1tLXdyYXBwZXJfb3BlbmluZyBoZWFkZXIucGFnZUhlYWRlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5odG1sLm1tLXdyYXBwZXJfb3BlbmluZyBoZWFkZXIucGFnZUhlYWRlciAuaGVhZGVyTWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5odG1sLm1tLXdyYXBwZXJfb3BlbmluZyBoZWFkZXIucGFnZUhlYWRlciAuaGVhZGVyTWFpbiBhOm5vdChbcm9sZT1tZW51aXRlbV0pOm5vdCg6aG92ZXIpIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIGhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluIGEubG9nbyBzdmcgI3RleHQge1xuICBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc3RvcE92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3dYIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5LnN0b3BPdmVyZmxvd1kge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbmJvZHkgI21haW4ucGFnZU1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5Lm5vVG9wU3BhY2UgI21haW4ucGFnZU1haW4ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jbW9iaWxlLW1lbnUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbn1cbiNtb2JpbGUtbWVudS5tbS1tZW51IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ubW0tbWVudS5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICBtYXJnaW4tdG9wOiAxNDBweDtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4ubW0tbWVudSAubW0tcGFuZWwgLm1tLWJ0bl9wcmV2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubW0tbWVudSAubW0tcGFuZWwgLm1tLWJ0bl9wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEyXCI7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubW0tbWVudSBhLFxuLm1tLW1lbnUgYTphY3RpdmUsXG4ubW0tbWVudSBhOmhvdmVyLFxuLm1tLW1lbnUgYTpsaW5rLFxuLm1tLW1lbnUgYTp2aXNpdGVkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIGNvbG9yOiAjNGM0YzRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1tLW1lbnUgYS5TZWxlY3RlZCxcbi5tbS1tZW51IGE6YWN0aXZlLlNlbGVjdGVkLFxuLm1tLW1lbnUgYTpob3Zlci5TZWxlY3RlZCxcbi5tbS1tZW51IGE6bGluay5TZWxlY3RlZCxcbi5tbS1tZW51IGE6dmlzaXRlZC5TZWxlY3RlZCB7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLm1tLW1lbnUgLm1tLWxpc3RpdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGM0YzRlO1xufVxuLm1tLW1lbnUgLm1tLWxpc3RpdGVtX19idG46bm90KC5tbS1saXN0aXRlbV9fdGV4dCkge1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tbS1tZW51IC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cbi5tbS1tZW51IC5tbS1idG46YWZ0ZXIsXG4ubW0tbWVudSAubW0tYnRuOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwOTc1MDtcbn1cbi5tbS1tZW51IC5tbS1uYXZiYXIge1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDk3NTA7XG4gIGJvcmRlci1jb2xvcjogI2M4ZDZkNjtcbn1cbi5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLW5hdmJhcl9fdGl0bGUge1xuICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjA5MDkwOTA5MDlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1tLW1lbnUgI21tLTEgLm1tLW5hdmJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubW0tbWVudSAubW0tcGFuZWxfaGFzLW5hdmJhciB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xufVxuLm1tLW1lbnUgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgYm9yZGVyLWNvbG9yOiBibGFjaztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5tbS1tZW51IGEsXG4gIC5tbS1tZW51IGE6YWN0aXZlLFxuICAubW0tbWVudSBhOmhvdmVyLFxuICAubW0tbWVudSBhOmxpbmssXG4gIC5tbS1tZW51IGE6dmlzaXRlZCB7XG4gICAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuODE4MTgxODE4MnJlbTtcbiAgfVxuICAubW0tbWVudSAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB9XG4gIC5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLW5hdmJhcl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45MDkwOTA5MDkxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1tLXBhZ2UubW0tc2xpZGVvdXQge1xuICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuYm9keS5oZWFkcm9vbS1waW5uZWQgLm1tLW1lbnUubW0tbWVudV9mdWxsc2NyZWVuIHtcbiAgbWFyZ2luLXRvcDogMTQwcHg7XG59XG5cbmJvZHkuaGVhZHJvb20tbm90LXRvcC5oZWFkcm9vbS1waW5uZWQgLm1tLW1lbnUubW0tbWVudV9mdWxsc2NyZWVuLFxuYm9keS5oZWFkcm9vbS1ub3QtdG9wIC5tbS1tZW51Lm1tLW1lbnVfZnVsbHNjcmVlbiB7XG4gIG1hcmdpbi10b3A6IDc1cHg7XG59XG5cbmZvb3Rlci5wYWdlRm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YjM4NDtcbiAgcGFkZGluZzogNzVweCAwIDY2cHggMDtcbn1cbmZvb3Rlci5wYWdlRm9vdGVyIHAsXG5mb290ZXIucGFnZUZvb3RlciBhIHtcbiAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTA5MDkwOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmZvb3Rlci5wYWdlRm9vdGVyIC5mb290ZXJNaWRMZWZ0QXJlYSAuYm9keSAuY2VsbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5mb290ZXIucGFnZUZvb3RlciAuZm9vdGVyTWlkUmlnaHRBcmVhIHtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3Rlck1pZFJpZ2h0QXJlYSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICBmb290ZXIucGFnZUZvb3RlciB7XG4gICAgcGFkZGluZzogNDBweCAwIDY2cHggMDtcbiAgfVxuICBmb290ZXIucGFnZUZvb3RlciBwLCBmb290ZXIucGFnZUZvb3RlciBhIHtcbiAgICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB9XG4gIGZvb3Rlci5wYWdlRm9vdGVyIC5jZWxsTG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICBmb290ZXIucGFnZUZvb3RlciAuY2VsbExvZ28gLmxvZ28gc3ZnIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbiAgZm9vdGVyLnBhZ2VGb290ZXIgLm1lbnUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmF6aW9uZSBjbGFzc2kgYWQgaG9jIHBlciBzcGF6aWF0dXJlIHRvcCBlIGJvdHRvbSwgYSBkaWZmZXJlbnphXG4gKiAgZGVsbGEgc29sdXppb25lIHByZWNlZGVudGUgcXVlc3RhIGdlbmVyYSBtYXJnaW4gRSBwYWRkaW5nIHBlciBvZ25pIHNwYXppYXR1cmEuXG4gKlxuICogTGUgY2xhc3NpIHNvbm8gbmVsbGEgZm9ybWEgXCJpdGVtLXNwYWNlLXRvcC0wXCJcbiAqXG4gKiBpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPlxuICpcbiAqIFZhcmlhbnRlOlxuICogLSBjb24gYmFja2dyb3VuZCBzaWEgbWFyZ2luIGNoZSBwYWRkaW5nIChpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPi1iZylcbiAqIC0gc2VuemEgYmFja2dyb3VuZCBzb2xvIG1hcmdpbiAoaXRlbS1zcGFjZS08cG9zaXRpb24+LTxpZD4pXG4gKlxuXG4gKiovXG4uaXRlbS1zcGFjZS10b3AtMCB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS10b3AtMC1iZyB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0wLWJnIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS10b3AtMS1iZyB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtYm90dG9tLTEtYmcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLXRvcC0yIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS1ib3R0b20tMiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtdG9wLTItYmcge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0yLWJnIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS10b3AtMyB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLXRvcC0zLWJnIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS1ib3R0b20tMy1iZyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTAge1xuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS10b3AtMC1iZyB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0wLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pdGVtLXNwYWNlLXRvcC0xIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS10b3AtMS1iZyB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTEtYmcge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaXRlbS1zcGFjZS10b3AtMiB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTItYmcge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0yLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTMge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLXRvcC0zLWJnIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMy1iZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXNwYWNlLXRvcC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTAtYmcge1xuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMC1iZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaXRlbS1zcGFjZS10b3AtMSB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTEtYmcge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0xLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTIge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLXRvcC0yLWJnIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMi1iZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXNwYWNlLXRvcC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLXRvcC0zLWJnIHtcbiAgICBtYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0zLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG4vKipcbiAqIEJsb2NjaGkgRHJ1cGFsIEJhc2ljIGJsb2NrXG4gKiBHZXN0aXRpIGRhIC9hZG1pbi9zdHJ1Y3R1cmUvYmxvY2svYmxvY2stY29udGVudFxuICovXG4uYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB1bC5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbHVtbi1jb3VudDogMjtcbn1cbi5ibG9jay10dC1mb3VuZGF0aW9uLXBpZWRpcGFnaW5hIHVsLm1lbnUgbGkgYSB7XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICB9XG59XG5cbi8qKlxuICogQnJlYWRjcnVtYnNcbiAqIEJsb2NjbyBkaSBzaXN0ZW1hXG4gKi9cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB1bC5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMDtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB1bC5icmVhZGNydW1icyBsaSwgLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHVsLmJyZWFkY3J1bWJzIGEsIC5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB1bC5icmVhZGNydW1icyBzcGFuIHtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjYzNjM2MzYzNjRyZW07XG59XG4uYmxvY2stc3lzdGVtLmJsb2NrLWJyZWFkY3J1bWIgdWwuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB1bC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqXG4gKiBIZWFkZXIgYmFubmVyIGN1c3RvbVxuICogR2VuZXJhdG8gZGEgdHRfdXRpbGl0aWVzL1BsdWdpbi9CbG9jay9IZWFkZXJCYW5uZXJCbG9ja1xuICogU3RhbXBhdG8gaW4gdHRfdXRpbGl0aWVzL3RlbXBsYXRlcy9oZWFkZXItYmFubmVyLWJsb2NrLmh0bWwudHdpZ1xuICovXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuaGJNYWluV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuZ3JpZEJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHotaW5kZXg6IDE7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgLmJhbm5lckNlbGwge1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuYmdDb3ZlckFiczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgaDEucGFnZVRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDE2cHggMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMy5wYWdlU3VidGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgLmhiTWFpbldyYXBwZXIuYmdkZWZhdWx0IC5iZ0NvdmVyQWJzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5oYk1haW5XcmFwcGVyLmJnZGVmYXVsdCBoMS5wYWdlVGl0bGUsXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgLmhiTWFpbldyYXBwZXIuYmdkZWZhdWx0IGgzLnBhZ2VTdWJ0aXRsZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5oYkhlYWRlclR5cGUtbm9uZSAuZ3JpZEJhbm5lciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbmJvZHkuaGVhZGVyQmlnZ2VyIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuaGJNYWluV3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbn1cblxuLyoqXG4gKiBCbG9jY28gZGVsIGNhbWJpbyBsaW5ndWFcbiovXG4uYmxvY2stbGFuZ3VhZ2Uge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG59XG4uYmxvY2stbGFuZ3VhZ2UgdWwubGlua3Mge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cbi5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5jZWxsTWFwLFxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmNlbGxTaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RTaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dCwgei1pbmRleCAwLjNzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuMnM7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsLm9mZiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5saXN0UGFuZWwgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5saXN0UGFuZWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBwYWRkaW5nOiAwIDYwcHggMCA0MHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDMwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCBsaTpob3ZlcjphZnRlciB7XG4gIHJpZ2h0OiAyMHB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0LCB6LWluZGV4IDAuM3MgbGluZWFyO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4ycztcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwub3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxCYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDQsIDI0NCwgMjQ0KTtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGNvbG9yOiAjNDZiMzg0O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxCYWNrIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5kZXRQYW5lbEJhY2sgc3BhbjpiZWZvcmUge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgLmRldFBhbmVsQmFjazpob3ZlciB7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxXcmFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5kZXRQYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCBwLmNvdW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMDk3NTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5jb3VudHlEZXNjIHAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjcyNzI3MjcyN3JlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5jb3VudHlEZXNjIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA3cHggMDtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGk6YmVmb3JlLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCBsaTpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzRjNGM0ZTtcbiAgei1pbmRleDogMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGk6YWZ0ZXIge1xuICB3aWR0aDogMDtcbiAgYmFja2dyb3VuZDogIzRjNGM0ZTtcbiAgei1pbmRleDogMTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGk6aG92ZXIge1xuICBjb2xvcjogIzdhOTg5OTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGk6aG92ZXI6YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgdWwucGxhY2VzTGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDAgMCAwO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCB1bC5wbGFjZXNMaXN0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLWJvdHRvbTogMXBzIHNvbGlkICM0YzRjNGU7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIHVsLnBsYWNlc0xpc3QgbGkgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAjd29ybGRNYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5saXN0UGFuZWwgbGkge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbiAgfVxuICAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsIGxpOmFmdGVyIHtcbiAgICByaWdodDogMjBweDtcbiAgfVxuICAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5kZXRQYW5lbCB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG4gIH1cbiAgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCB1bC5wbGFjZXNMaXN0IHtcbiAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gIH1cbiAgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgI3dvcmxkTWFwIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAjd29ybGRNYXAge1xuICAgIGhlaWdodDogNDAwcHg7XG4gIH1cbn1cblxuLmJsb2NrLXN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ibG9jay11bnN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKlxuICogUmVnb2xlIGdlbmVyaWNoZSBwZXIgZm9ybSBlIHdlYmZvcm1cbiAqIERlZmluaXppb25pIHZhbGlkZSBwZXIgdHV0dGlcbiAqL1xuOjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogTWljcm9zb2Z0IEVkZ2UgKi9cbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSxcbi5zdWJzY3JpYmUtZm9ybSxcbi51bnN1YnNjcmliZS1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLWl0ZW0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS1pdGVtLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLWl0ZW0sXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5jZWxsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmNlbGwsXG4uc3Vic2NyaWJlLWZvcm0gLmNlbGwsXG4udW5zdWJzY3JpYmUtZm9ybSAuY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gZmllbGRzZXQsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBmaWVsZHNldCxcbi5zdWJzY3JpYmUtZm9ybSBmaWVsZHNldCxcbi51bnN1YnNjcmliZS1mb3JtIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gZmllbGRzZXQgbGVnZW5kLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gZmllbGRzZXQgbGVnZW5kLFxuLnN1YnNjcmliZS1mb3JtIGZpZWxkc2V0IGxlZ2VuZCxcbi51bnN1YnNjcmliZS1mb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gbGFiZWwgYSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGxhYmVsIGEsXG4uc3Vic2NyaWJlLWZvcm0gbGFiZWwgYSxcbi51bnN1YnNjcmliZS1mb3JtIGxhYmVsIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbCBhOmhvdmVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gbGFiZWwgYTpob3Zlcixcbi5zdWJzY3JpYmUtZm9ybSBsYWJlbCBhOmhvdmVyLFxuLnVuc3Vic2NyaWJlLWZvcm0gbGFiZWwgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXTpmb2N1cyxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhOmZvY3VzLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZWxdLmVycm9yLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZXh0XS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEuZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XS5lcnJvcixcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXS5lcnJvcixcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLmVycm9yLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXS5lcnJvcixcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5lcnJvcixcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0uZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEuZXJyb3IsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0uZXJyb3IsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0uZXJyb3IsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0uZXJyb3IsXG4udW5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYS5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogcmVkO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEsXG4uc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEsXG4udW5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gcC5kZXNjcmlwdGlvbixcbmZvcm0udXNlci1sb2dpbi1mb3JtIHAuZGVzY3JpcHRpb24sXG4uc3Vic2NyaWJlLWZvcm0gcC5kZXNjcmlwdGlvbixcbi51bnN1YnNjcmliZS1mb3JtIHAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDhweCAwIDAgMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8sXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPXJhZGlvXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1yYWRpb10sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPXJhZGlvXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPXJhZGlvXSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1yYWRpb10sXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPXJhZGlvXSxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0sXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG1hcmdpbjogMDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWwsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWwsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuODE4MTgxODE4MnJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDpiZWZvcmUsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbDpiZWZvcmUsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmJlZm9yZSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YmVmb3JlLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YmVmb3JlLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YmVmb3JlLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDpiZWZvcmUsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YWZ0ZXIsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbDphZnRlcixcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YWZ0ZXIsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIGxlZnQ6IDRweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDA5NzUwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwOTc1MDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLmVycm9yICsgbGFiZWwsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0uZXJyb3IgKyBsYWJlbCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLmVycm9yICsgbGFiZWwsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLmVycm9yICsgbGFiZWwsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLmVycm9yICsgbGFiZWwge1xuICBjb2xvcjogcmVkO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXN1Ym1pdCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXN1Ym1pdCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1zdWJtaXQsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1zdWJtaXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogMTZweCA1NnB4O1xuICBtYXJnaW46IDQwcHggYXV0byAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tc3VibWl0OmhvdmVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tc3VibWl0OmhvdmVyLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXN1Ym1pdDpob3Zlcixcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gI3N0YXR1cy1tZXNzYWdlcyxcbmZvcm0udXNlci1sb2dpbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMsXG4uc3Vic2NyaWJlLWZvcm0gI3N0YXR1cy1tZXNzYWdlcyxcbi51bnN1YnNjcmliZS1mb3JtICNzdGF0dXMtbWVzc2FnZXMge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gI3N0YXR1cy1tZXNzYWdlcyAuY2FsbG91dCxcbmZvcm0udXNlci1sb2dpbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMgLmNhbGxvdXQsXG4uc3Vic2NyaWJlLWZvcm0gI3N0YXR1cy1tZXNzYWdlcyAuY2FsbG91dCxcbi51bnN1YnNjcmliZS1mb3JtICNzdGF0dXMtbWVzc2FnZXMgLmNhbGxvdXQge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbixcbi5zdWJzY3JpYmUtZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG4udW5zdWJzY3JpYmUtZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4uc3Vic2NyaWJlLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbi51bnN1YnNjcmliZS1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi51c2VyLWxvZ2luLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnVzZXItbG9naW4tZm9ybSAjZWRpdC1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ubXNnLWRpc2NsYWltZXItZm9ybSAjZWRpdC1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm1haW4tbWVudSB1bC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIGEge1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzAwOTc1MCAhaW1wb3J0YW50O1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSBhOmFmdGVyIHtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0MHB4O1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0NCwgMjQ0LCAyNDQpO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB6LWluZGV4OiAtMTtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXgtd2lkdGg6IDU4LjE4MTgxODE4MThyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDM2cHggMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIC5jdXN0b20tbWVudSBhIHtcbiAgY29sb3I6ICMwMDk3NTA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIC5jdXN0b20tbWVudSBhLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIC5zdWJtZW51LWJhY2tncm91bmQgLmN1c3RvbS1tZW51IGEuaXMtYWN0aXZlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUgYTpob3Zlcixcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUgYTphY3RpdmUsXG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIC5zdWJtZW51LWJhY2tncm91bmQgLmN1c3RvbS1tZW51IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmlzLWFjdGl2ZSA+IC5zdWJtZW51LWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB1bC5jdXN0b20tbWVudSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB1bC5jdXN0b20tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaS5hY3RpdmUtdHJhaWwgYSxcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuYWN0aXZlLXRyYWlsIGE6aG92ZXIsXG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmFjdGl2ZS10cmFpbCBhOmFjdGl2ZSxcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuYWN0aXZlLXRyYWlsIGE6Zm9jdXMge1xuICBjb2xvcjogIzAwOTc1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1haW4tbWVudSB1bC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLnBhcmFncmFwaC11bnB1Ymxpc2hlZCB7XG4gIGJhY2tncm91bmQ6IHJlZDtcbn1cbi5wYXJhZ3JhcGgucmVtb3ZlTGVmdFNwYWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5wYXJhZ3JhcGgucmVtb3ZlUmlnaHRTcGFjZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIEdyaWQgcGFyYWdyYXBocyArIEZvdW5kYXRpb24gQ2VsbFxuICogQmFzaWMgY2xhc3MgdG8gbWFuYWdlIHRoZSBiYWNrZ3JvdW5kXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGZvciBzZW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGltYWdlIG9uIGZ1bGx3aWR0aCBvZiB0aGUgc2NyZWVuIHlvdSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBhZ2UuaHRtbC50d2lnLlxuICogUGxlYXNlIHJlbW92ZSBhbGwgdGhlIGdyaWQtc3lzdGVtIGFuZCBsZWF2ZSB0aGUgbWFuYWdlIG9uIHRoZSBwYXJhZ3JhcGggRm91bmRhdGlvbiBHcmlkIHN5c3RlbS5cbiAqL1xuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWNlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJhY2tncm91bmREaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cbi5iYWNrZ3JvdW5kRGl2ICsgZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLmJhY2tncm91bmREaXYuY29sb3JCZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5iYWNrZ3JvdW5kRGl2LmltYWdlQmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgdWwudGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMgLnRhYnMtdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlID4gYTpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgdWwudGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLnRhYnMtY29udGVudCB7XG4gIG1hcmdpbjogMzBweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIHVsLmFjY29yZGlvbixcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLmFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24taXRlbSxcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucyAuYWNjb3JkaW9uLXRpdGxlLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMTVweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzI3MjcyNzI3M3JlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qQGluY2x1ZGUgaWNvbihhZnRlciwgcGx1cyl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBmb250LXNpemU6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH0qL1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMgLmFjY29yZGlvbi10aXRsZTpmb2N1cywgLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIGxpLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGUsXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMgLmFjY29yZGlvbi1jb250ZW50LFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YjM4NDtcbiAgcGFkZGluZzogNTVweCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCA1cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5oaWdobGlnaHQtY29udGVudCA+IGRpdiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5oaWdobGlnaHQtY29udGVudCA+IGRpdi5ib2R5LWwsIC5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYucHJlc3MtcmVsZWFzZS10aXRsZSwgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5oaWdobGlnaHQtY29udGVudCA+IGRpdi5wcmVzcy1yZWxlYXNlLXRpdGxlLCAucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5oaWdobGlnaHQtY29udGVudCA+IGRpdi50ZXh0LWFsaWduLWNlbnRlciwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYudGV4dC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b20tc21hbGw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICBib3R0b206IDEwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTAwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLmNlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5zbGlkZS13cmFwcGVyIHtcbiAgcGFkZGluZzogNTZweCAwIDExN3B4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1MDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5zbGlkZS13cmFwcGVyIC50aXRsZSB7XG4gIG1hcmdpbjogNDBweCAwIDIwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5zbGlkZS13cmFwcGVyIC5kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDBweCAxMDhweCAwcHggMTA4cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgei1pbmRleDogOTk5OTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLWFycm93cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgaGVpZ2h0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDI1JTtcbiAgZm9udC1zaXplOiAyNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItcHJldiB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1uZXh0IHtcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBoZWlnaHQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMjUlO1xuICBsZWZ0OiAwO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZCAuY2FyZC13cmFwcGVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQ6aG92ZXIgLmNhcmQtd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZDpob3ZlciAuY2FyZC1jb3ZlciBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZHMtaGVhZGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmRzLWhlYWRpbmcgPiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvdmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvdmVyIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IC01cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuY2F0ZWdvcnkge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuc3dpcGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5pbWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogNzVweDtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5pbWFnZSBhLFxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5pbWFnZXMgLmltYWdlIGEge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5zd2lwZXItd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBpbml0aWFsO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5pbWFnZXMgLmltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZDpob3ZlciAuY2FyZC1jb3ZlciBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMgLmNhcmQtY292ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvdmVyIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRlbnQtYm94ZXMgLmNlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyAuY2VsbCAuYm94LWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyAuY2VsbC5zbWFsbC1vcmRlci0xIC5ib3gtY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMTAwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsIC5ib3gtY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsLnNtYWxsLW9yZGVyLTEgLmJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsLmJveC1jb250ZW50LWNvbnRlbnQge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRlbnQtYm94ZXMgLmNlbGwuYm94LWNvbnRlbnQtaW1hZ2Uge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRlbnQtYm94ZXMgLmNlbGwuYm94LWNvbnRlbnQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jbGFpbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA0NXB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbGFpbSAuY2xhaW0tY29udGVudCB7XG4gIHdpZHRoOiA0MCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbGFpbSAuY2xhaW0tY29udGVudCBwIHtcbiAgZm9udC1zaXplOiAxLjQ1NDU0NTQ1NDVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4MTgxODE4MThyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSB7XG4gICAgcGFkZGluZy1yaWdodDogMC40NTQ1NDU0NTQ1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xuICAgIG1heC13aWR0aDogNTguMTgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSAuY2xhaW0tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNsYWltIC5jbGFpbS1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSAuY2xhaW0tY29udGVudCBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjI3MjcyNzI3MjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTQ1NDU0NXJlbTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNDBweDtcbiAgbWFyZ2luLXRvcDogLTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0zMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1pbWFnZSB7XG4gIHdpZHRoOiA1MCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiA0NXB4IDYwcHg7XG4gIHdpZHRoOiA1MCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtc3VidGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxLjA5MDkwOTA5MDlyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtc3VidGl0bGU6YWZ0ZXIge1xuICB0b3A6IDI2cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDI0cHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIuY2FyZC1pbnZlcnRlZCAuY2FyZC1pbWFnZSB7XG4gIG9yZGVyOiAxO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlci5jYXJkLWludmVydGVkIC5jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxMDVweCA2MHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIuY2FyZC1pbnZlcnRlZCAuY2FyZC1pbWFnZSB7XG4gICAgb3JkZXI6IDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlci5jYXJkLWludmVydGVkIC5jYXJkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGU6bm90KC53aXRoLWltYWdlKSB7XG4gIGJhY2tncm91bmQ6IHVybCgvdGhlbWVzL2N1c3RvbS90dF9mb3VuZGF0aW9uL2ltYWdlcy9wYXJhZ3JhcGhzL3F1b3RlX2JhY2tncm91bmQucG5nKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlOm5vdCgud2l0aC1pbWFnZSkgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAudGV4dC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvciwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b20sIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAuc2VwYXJhdG9yOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAuc2VwYXJhdG9yLWJvdHRvbTphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b20tc21hbGw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogOTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWZlMztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciAucXVvdGUtbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAucXVvdGUtZm9vdGVyIC5xdW90ZS1vdGhlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhcmFncmFwaHMvcXVvdGVfYmFja2dyb3VuZF9pbWFnZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjUlIDUwJTtcbiAgcGFkZGluZzogMTIwcHggMCA3MHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIC5xdW90ZS1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUud2l0aC1pbWFnZSAucXVvdGUtY29udGVudCAucXVvdGUtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3I6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2UgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b206YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2UgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b20tc21hbGw6YWZ0ZXIge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvcjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b206YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUud2l0aC1pbWFnZSAucXVvdGUtZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi8qIFJhZ2dydXBwYSB0dXR0aSBpIHBhcmFncmFmaSBtaW5pY2FyZD0qIGV4IFwiY29udGFjdHNcIiAqL1xuLnBhcmFncmFwaC0tdHlwZS0tY29udGFjdHMgLmNvbnRhY3QtY29udGVudCB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAzOXB4IDI3cHggMjlweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyAuY29udGFjdC1jb250ZW50OmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRhY3RzIC53cmFwcGVyLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRhY3RzIC5uYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogIzAwOTc1MDtcbiAgLyomOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC03cHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gIH0qL1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGFjdHMgLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGFjdHMgLnRleHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyAuZmlsZXMgLm1lZGlhLWxpbmsge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLm1zZ19jX3dyYXBwZXJfY2xlYXJmaXg6YmVmb3JlLFxuLm1zZ19jX3dyYXBwZXJfY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5tc2dfY193cmFwcGVyOm5vdCgubXNnX2Nfd3JhcHBlcl9mdWxsX3dpZHRoKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfYmlnZ2VzdCB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfYmlnIHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9tZWRpdW0ge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX3NtYWxsIHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zbWFsbGVzdCB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfc3BhY2VfdG9wIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfc3BhY2VfYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbXNnX2Nfd3JhcHBlcl9zcGFjZXIsIDM1cHgpO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zcGFjZV9ib3RoIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbXNnX2Nfd3JhcHBlcl9zcGFjZXIsIDM1cHgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tc2dfY193cmFwcGVyX3NwYWNlciwgMzVweCk7XG59XG5cbi5tc2dfY193cmFwcGVyX2NvbG9yZWQge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUge1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDQsIDI0NCwgMjQ0KTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmRzLXRpdGxlIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGV4dCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIHtcbiAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjcyNzI3MjcyNzNyZW07XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWltYWdlIHtcbiAgb3JkZXI6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbWFyZ2luOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbSAudGltZWxpbmUtdGV4dCB7XG4gIG9yZGVyOiAyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLWltYWdlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLWltYWdlIHtcbiAgICBvcmRlcjogMjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDZiMzg0O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW06bnRoLWNoaWxkKGV2ZW4pIC50aW1lbGluZS10ZXh0IHtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtIC50aW1lbGluZS1pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtIC50aW1lbGluZS10ZXh0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZiMzg0O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICM0NmIzODQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtIC50aW1lbGluZS10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW06bnRoLWNoaWxkKGV2ZW4pIC50aW1lbGluZS10ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDtcbiAgfVxufVxuXG4uYm9keS5maWVsZC0tbm9kZS1ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJvZHkuZmllbGQtLW5vZGUtYm9keSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAqIERlZmluaXppb25pIGNvbXVuaSBhIHR1dHRlIGxlIHZpc3RlXG4gKiBMZSB2aXN0ZSBjaGUgcmlndWFyZGFubyB1biBjZXJ0byB0aXBvIGRpIGNvbnRlbnV0byB2YW5ubyBzdGlsaXp6YXRlIG5lbCByZWxhdGl2byBmaWxlIGNvbnRlbnRfdHlwZXMvXyouc2Nzc1xuICovXG4udmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0taXRlbSB7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnZpZXdzLWV4cG9zZWQtZm9ybSAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udmlld3Mtcm93LWRvY3VtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0QxRDJENDtcbn1cbi52aWV3cy1yb3ctZG9jdW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0QxRDJENDtcbn1cblxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIG5hdi5wYWdlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDQwcHggYXV0bztcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCA0cHg7XG4gIH1cbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogIzAwOTc1MDtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGE6aG92ZXIgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYTpob3ZlcjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWVsbGlwc2lzIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMzBweDtcbiAgbWluLXdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZWxsaXBzaXMge1xuICAgIHdpZHRoOiA0MHB4O1xuICB9XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1wcmV2aW91cywgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1wcmV2aW91cyBzcGFuW2FyaWEtaGlkZGVuPXRydWVdLCAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IHNwYW5bYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tcHJldmlvdXMgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tbmV4dCBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MTNcIjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLmN1cnJlbnQgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS5jdXJyZW50IGE6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52aWV3SW5maW5pdGVQYWdlZCAuanMtcGFnZXJfX2l0ZW1zLmluZmluaXRlLXBhZ2VyIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi52aWV3SW5maW5pdGVQYWdlZCAuanMtcGFnZXJfX2l0ZW1zLmluZmluaXRlLXBhZ2VyIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSBsYWJlbCxcbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGxlZ2VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmpzLWZvcm0taXRlbTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDA7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3MgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3MgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgbWFyZ2luOiAwO1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxN3B4IDIwcHggMTFweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjkwOTA5MDkwOTFyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tcmFkaW9zIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbC5vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG5cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSBmb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgcGFkZGluZzogMjZweCAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIGZvcm0gaW5wdXQge1xuICBtYXJnaW46IDA7XG59XG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyBhcnRpY2xlIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0QxRDJENDtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93OmZpcnN0LWNoaWxkIGFydGljbGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0QxRDJENDtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGgyLm5vZGUtdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IC5maWVsZC0tc2VhcmNoLWFwaS1leGNlcnB0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuI3NpdGUtc2VhcmNoLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxNDBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1MSwgODAsIDAuOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWFyY2gvc2VhcmNoX2JhY2tncm91bmQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbn1cbi5oZWFkcm9vbS1ub3QtdG9wICNzaXRlLXNlYXJjaC1mb3JtIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA3NXB4KTtcbiAgdG9wOiA3NXB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlYWRyb29tLW5vdC10b3AgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNzVweCk7XG4gICAgdG9wOiA3NXB4O1xuICB9XG4gIC50b29sYmFyLWhvcml6b250YWwgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTc5cHgpO1xuICAgIHRvcDogMTc5cHg7XG4gIH1cbiAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItdmVydGljYWwgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTc5cHgpO1xuICAgIHRvcDogMTc5cHg7XG4gIH1cbiAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItaG9yaXpvbnRhbCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMjNweCk7XG4gICAgdG9wOiAyMjNweDtcbiAgfVxuICAudG9vbGJhci1ob3Jpem9udGFsLmhlYWRyb29tLW5vdC10b3AgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTE0cHgpO1xuICAgIHRvcDogMTE0cHg7XG4gIH1cbiAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItdmVydGljYWwuaGVhZHJvb20tbm90LXRvcCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTRweCk7XG4gICAgdG9wOiAxMTRweDtcbiAgfVxuICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci1ob3Jpem9udGFsLmhlYWRyb29tLW5vdC10b3AgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTU4cHgpO1xuICAgIHRvcDogMTU4cHg7XG4gIH1cbn1cblxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMzBweDtcbn1cbiNibG9jay10dC1mb3VuZGF0aW9uLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLWJsb2NrIGZvcm0gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgcGFkZGluZzogMjZweCAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiNibG9jay10dC1mb3VuZGF0aW9uLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLWJsb2NrIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgY29sb3I6ICMwMDk3NTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDE2cHggNzdweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnZpZXdzLXZpZXctYXNzZW1ibGVlIC5hc3NlbWJsZWEtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnZpZXdzLXZpZXctYXNzZW1ibGVlID4gLnZpZXdzLXJvdyBhcnRpY2xlLm5vZGUtYXNzZW1ibGVhLXRlYXNlciB7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4O1xufVxuXG4ucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG4ucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LXNpemU6IDA7XG4gIGJvdHRvbTogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGE6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEubWVkaWEtZG93bmxvYWQge1xuICByaWdodDogMTBweDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEubWVkaWEtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDhcIjtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEubWVkaWEtZXhwYW5kIHtcbiAgbGVmdDogMTBweDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGEubWVkaWEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudCBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50IGE6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5wYWdlLTQwNCAucGFnZVRpdGxlLFxuLnBhZ2UtNDAzIC5wYWdlVGl0bGUge1xuICBmb250LXNpemU6IDkuMDkwOTA5MDkwOXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogOS4wOTA5MDkwOTA5cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRDFEMkQ0ICFpbXBvcnRhbnQ7XG59XG5cbi5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtZGF0ZSB0aW1lIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTZweCAwO1xufVxuLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS10aXRsZSBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYm9keS5wYXRoLWZyb250cGFnZSB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLyoqXG4gICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCB1cFxuICAqL1xufVxuYm9keS5wYXRoLWZyb250cGFnZSAjbWFpbi5wYWdlTWFpbiB7XG4gIG1hcmdpbjogMDtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvIHN2ZyAjdGV4dCB7XG4gIGZpbGw6ICNmZmZmZmY7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIGEubG9nbyBzdmcgI3RleHQge1xuICBmaWxsOiAjMDAwMDAwO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlciAubWFpbi1tZW51IHVsLmRyb3Bkb3duID4gbGkgPiBhLFxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlciAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgPiBsaSA+IGE6bm90KDpob3Zlcikge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAubWFpbi1tZW51IHVsLmRyb3Bkb3duID4gbGkgPiBhOm5vdCg6aG92ZXIpLFxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgPiBsaSA+IGE6bm90KDpob3Zlcikge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDc1cHg7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5wYXJhZ3JhcGgtLXR5cGUtLWNsYWltIHtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMDAwMDAwIDAlLCByZ2IoMCwgODAsIDExNCkgNTAlLCByZ2IoMCwgMTU5LCAyMjcpIDEwMCUpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmFzc2VtYmxlZSAuYXNzZW1ibGVhLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFwLW1hcmtlci5ub2RlLXZpZXctbW9kZS1mdWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgcGFkZGluZzogNDBweCA1MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICBvcGFjaXR5OiAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFwLW1hcmtlci5ub2RlLXZpZXctbW9kZS1mdWxsLm9wZW5lZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFwLW1hcmtlci5ub2RlLXZpZXctbW9kZS1mdWxsIC5tYXJrZXItY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDk3NTA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLWNsb3NlIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci1jbG9zZSBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0NmIzODQ7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci13cmFwcGVyIC5tYXJrZXItdHlwZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci13cmFwcGVyIC5tYXJrZXItdHlwZSBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5ib2R5LmlzLWllMTEgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZmVyYWxwaS1tYXJrZXItLm5vZGUtdmlldy1tb2RlLWZ1bGwgLmZpZWxkLW5hbWUtZmllbGQtcHJvZG90dGkgLmZpZWxkLWl0ZW0ge1xuICBmbGV4LWJhc2lzOiA0NiU7XG59XG5cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0sXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gZmllbGRzZXQuZmllbGRncm91cCxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gZmllbGRzZXQuZmllbGRncm91cCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0tLWlubGluZSA+IC5mb3JtLWl0ZW0sXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLS1pbmxpbmUgPiAuZm9ybS1pdGVtIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0taXRlbS15ZWFyLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1pdGVtLXllYXIge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIGZpZWxkc2V0LFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSBmaWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLWl0ZW0sXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLWl0ZW0ge1xuICBtYXJnaW46IDA7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIGxlZ2VuZCxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGxhYmVsLFxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBpbnB1dCxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgbGFiZWwsXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIC5mb3JtLXJhZGlvcyxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgLmZvcm0tcmFkaW9zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxMnB4O1xufVxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXSxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwsXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQ6ICMwMDk3NTA7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGxhYmVsLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBsYWJlbCB7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjQUJBREFGO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgbGFiZWwsXG4gIC52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgbGFiZWwge1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSxcbiAgLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4ubm9kZS1yb3ctZXZlbnQuZXZlbnRUYmQgc3BhbltjbGFzc149aWNuLV0sIC5ub2RlLXJvdy1ldmVudC5ldmVudFBhc3Qgc3BhbltjbGFzc149aWNuLV0ge1xuICBvcGFjaXR5OiAwLjU7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yb3ctd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciAuY3VzdG9tLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciAuY3VzdG9tLXRpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20taWNvbjpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwICFpbXBvcnRhbnQ7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS10aXRsZS13cmFwcGVyIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS10aXRsZS13cmFwcGVyIC5jdXN0b20tdGl0bGUge1xuICBmbGV4LWdyb3c6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS10aXRsZS13cmFwcGVyIC5jdXN0b20tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFEMkQ0O1xuICBwYWRkaW5nOiA0cHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIgLmN1c3RvbS10aXRsZS1zdXAtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS10aXRsZS13cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItaWNvbiB7XG4gIGZsZXgtYmFzaXM6IDQwcHg7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4M2ZcIjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWljb24ge1xuICAgIGZsZXgtYmFzaXM6IDYwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaCB7XG4gIGZsZXgtYmFzaXM6IDYwcHg7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2ggYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItdHlwZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItdHlwZSB7XG4gICAgZmxleC1iYXNpczogMTc1cHg7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFEMkQ0O1xuICBwYWRkaW5nOiA0cHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIuZXZlbnQtcGFzdCAuY2FsZW5kYXItaWNvbjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1kYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLWRhdGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsZXgtYmFzaXM6IDIyMHB4O1xuICB9XG59XG4ubm9kZS1yb3ctZXZlbnQgLmFkZGV2ZW50YXRjIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDE7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmFkZGV2ZW50YXRjIHNwYW4uYWRkZXZlbnRhdGNfaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMjJweDtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyODApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjM2O1xuLyogRGVmYXVsdCBjb2xvcnMgKi9cbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRncmF5LWY0OiAjRjRGNEY0O1xuJGdyYXktZDE6ICNEMUQyRDQ7XG4kbGlnaHQtZ3JheTogI2M4ZDZkNjtcbiRtZWRpdW0tZ3JheTogIzdhOTg5OTtcbiRkYXJrLWdyYXk6ICM0YzRjNGU7XG4vKiBQcmltYXJ5IGNvbG9ycyAqL1xuJHByaW1hcnktY29sb3I6ICRibGFjaztcbiRwcmltYXJ5LWdyZWVuOiAjMDA5NzUwO1xuJHByaW1hcnkteWVsbG93OiAjZmZlZDAwO1xuJHByaW1hcnktcmVkOiAjZTYzNTFkO1xuJHByaW1hcnktYmx1ZTogIzAwOWZlMztcbi8qIEN1c3RvbSBjb2xvcnMgKi9cbiRsaWdodC1ncmVlbjogIzQ2YjM4NDtcbi8qIFN0YXRlcyBjb2xvciAqL1xuJGNvbG9yLWRlZmF1bHQ6ICRibGFjaztcbiRjb2xvci1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kY29sb3ItcHJlc3M6ICRtZWRpdW0tZ3JheTtcbiRjb2xvci1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4vKiBPdXRsaW5lcyBjb2xvcnMgKi9cbiRvdXRsaW5lLWJsYWNrOiAkYmxhY2s7XG4kb3V0bGluZS1tZWRpdW06ICRtZWRpdW0tZ3JheTtcbiRvdXRsaW5lLXdoaXRlOiAkd2hpdGU7XG4kb3V0bGluZS1lcnJvcjogJHByaW1hcnktcmVkO1xuLyogT3ZlcmxheXMgKi9cbiRvdmVybGF5LTA6ICRibGFjaztcbiRvdmVybGF5LTEwOiByZ2JhKCRibGFjaywgLjEpO1xuJG92ZXJsYXktMjA6IHJnYmEoJGJsYWNrLCAuMik7XG4kb3ZlcmxheS0zMDogcmdiYSgkYmxhY2ssIC4zKTtcbiRvdmVybGF5LTQwOiByZ2JhKCRibGFjaywgLjQpO1xuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICRwcmltYXJ5LWJsdWUsXG4gIHNlY29uZGFyeTogJG1lZGl1bS1ncmF5LFxuICBzdWNjZXNzOiAjNTVhYTAwLFxuICB3YXJuaW5nOiAjZmY4ODAwLFxuICBhbGVydDogI2ZmMDAwMCxcbik7XG5cbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZ2xvYmFsLXdlaWdodC1tZWRpdW06IDUwMDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IDcwMDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuJHByaW50LWhyZWZzOiB0cnVlO1xuXG4vL0BpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjgwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJGJsYWNrO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGJ1dHRvbi1wYWRkaW5nOiAxNnB4IDU2cHg7XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1ncmVlbjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnkteWVsbG93O1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAyNHB4O1xuJGJ1dHRvbi1ib3JkZXI6IDAgbm9uZTtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyBDdXN0b21zXG4kaGVhZGVyLWhlaWdodDogMTAwcHg7XG4kaGVhZGVyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJG1ldGFIZWFkZXItaGVpZ2h0OiA0MHB4O1xuJGFkbWluLXRvb2xiYXItaGVpZ2h0OiA4M3B4O1xuJHRvdGFsLWhlYWRlci1oZWlnaHQ6IGNhbGMoJG1ldGFIZWFkZXItaGVpZ2h0ICsgJGhlYWRlci1oZWlnaHQpO1xuJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iOiA3NXB4OyIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi44LjFcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1icC12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAlY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICB9XG5cbiAgJWNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gIC8vICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgICRtZ2M6IDByZW07XG4gICAgICB9XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWd9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRtZ2M6IHJlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKTtcbiAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICB9XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4vLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIGhhdmUgcm93IHdyYXBwaW5nIGJlaGF2aW9yIHNldCB0byBub3dyYXBcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpICogMC41ICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoZGl2aWRlKCRwb3NpdGlvbiwgJGdyaWQtY29sdW1uLWNvdW50KSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6ICcgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LiN7JG5hbWV9JztcbiAgICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAmI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwcmV2aW91cyBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG5leHQgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1uZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsIGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pIHtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gMC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIDAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyayBNb2RlIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElFMTArIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLnNob3ctZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3RpY2t5IFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbn1cbiIsIkBrZXlmcmFtZXMgc2Nyb2xsRG93bkluZmluaXRlIHtcbiAgMCUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIDUwJSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn0iLCIvLyBQbGFjZSBhbnkgRHJ1cGFsLXJlbGF0ZWQgcXVpcmtzIGhlcmUuXG4vKlxuICogenVyYl9mb3VuZGF0aW9uLnNjc3MgLSBDb250YWlucyBhbGwgRHJ1cGFsLXNwZWNpZmljIFNBU1MgZm9yIHRoaXMgdGhlbWUuXG4gKlxuICogQHRvZG8gU3BsaXQgdGhpcyBpbnRvIG11bHRpcGxlIGZvbGRlcnMvZmlsZXMuXG4qL1xuXG4vLyBBIGZpeCBmb3IgaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzk1MzAzNCAtIFRoZW1lcyBjdXJyZW50bHkgY2Fubm90XG4vLyBkZXRlcm1pbmUgaWYgYSByZWdpb24gaXMgZW1wdHlcblxuLnJlZ2lvbi1oaWdobGlnaHRlZDplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIFRoaXMgaGFzIGJlZW4gYW4gaXNzdWUgc2luY2UgNy54LCBGb3VuZGF0aW9uIHJ1bGVzIGFib3V0IGxpc3QgZWxlbWVudHNcbi8vIGFmZmVjdCBOYXZiYXIgc2l6aW5nLlxuXG4udG9vbGJhci10cmF5IGEge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8vIFJlbW92ZSBGb3VuZGF0aW9uJ3MgdG9wIG1hcmdpbiBmcm9tIHRoZSB0b2dnbGUgb3JpZW50YXRpb24gYnV0dG9uLlxuXG4udG9vbGJhciAudG9vbGJhci10b2dnbGUtb3JpZW50YXRpb24gLnRvb2xiYXItaWNvbiB7XG4gIG1hcmdpbjogMDtcbiAgLy8gRml4IG9mZnNldCBwcm9ibGVtIHdoZXJlIGhhbGYgb2Ygb3JpZW50YXRpb24gYnV0dG9uIGlzIG5vdCB2aXNpYmxlLlxuICAmOmJlZm9yZSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG4vLyBPdmVycmlkZSBzdHlsZXMgZnJvbSAvY29yZS9tb2R1bGVzL3N5c3RlbS9jc3MvY29tcG9uZW50cy9tZW51LnRoZW1lLmNzc1xuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGEuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxufVxuXG4vLyBQcmV2ZW50aW5nIFRvcCBCYXIgRk9VQ1xuLy8gaHR0cDovL2ZvdW5kYXRpb24uenVyYi5jb20vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLW5hdmlnYXRpb24uaHRtbCNwcmV2ZW50aW5nLWZvdWNcbi8vIE1vcmUgaW5mbzogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzI3ODM1NzNcbi5uby1qcyAudG9wLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vLWpzIC50b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubm8tanMgLnRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHRvcCBiYXIgaWYgdGhlIE5hdmJhciAodG9vbGJhcikgaXMgcHJlc2VudC5cblxuYm9keS50b29sYmFyLWZpeGVkIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xuICBtYXJnaW4tdG9wOiAzOXB4O1xufVxuXG5ib2R5LnRvb2xiYXItZml4ZWQudG9vbGJhci1ob3Jpem9udGFsLnRvb2xiYXItdHJheS1vcGVuXG4gIC5zdGlja3kuaXMtc3R1Y2tcbiAgLnRvcC1iYXIge1xuICBtYXJnaW4tdG9wOiA3OHB4O1xufVxuXG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlbW92ZXMgY29yZSBhcnJvdyBpbWFnZSBmcm9tIG1lbnUgaXRlbXMuXG5cbi50b3AtYmFyIHtcbiAgLm1lbnUtaXRlbS0tY29sbGFwc2VkLFxuICAubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG4vLyBTdHlsZSB0aGUgc2VhcmNoIGZvcm0sIGlmIGVtYmVkZGVkIGluIHRoZSBUb3AgQmFyLlxuXG4udG9wLWJhciAuc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAuZm9ybS1pdGVtLWtleXMsXG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLyBEcm9wZG93biBidXR0b24gc3R5bGluZy5cblxuLmRyb3BidXR0b24td3JhcHBlciB7XG4gIC8vIFN1Yi10aGVtZXMgd2lsbCBoYXZlIHRvIG92ZXJyaWRlIHRoaXMgY29sb3IsIHVuZm9ydHVuYXRlbHkuXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBBZGQgQTExeS1yZWxhdGVkIENsYXNzeSBzdHlsaW5nIGZvciByZXF1aXJlZCBmb3JtIGZpZWxkcy5cbi5mb3JtLXJlcXVpcmVkOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiAwIDAuM2VtO1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gIC8vIFVzZSBhIGJhY2tncm91bmQgaW1hZ2UgdG8gcHJldmVudCBzY3JlZW4gcmVhZGVycyBmcm9tIGFubm91bmNpbmcgdGhlIHRleHQuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm91bmRhdGlvbi9taXNjL3JlcXVpcmVkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNnB4IDZweDtcbn1cblxuLy8gRml4IG92ZXJsYXBwaW5nIGRyb3Bkb3duIG9uIG5vZGUgcHJldmlldyBwYWdlLlxuLm5vZGUtcHJldmlldy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLm5vZGUtcHJldmlldy1iYWNrbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLy9TcGFjaW5nIGJldHdlZW4gY29tbWVudCBib3ggYW5kIGFjdGlvbiBidXR0b25zXG4jZWRpdC1jb21tZW50LWJvZHktd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xufVxuXG4jdG9vbGJhci1hZG1pbmlzdHJhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9ICBcbn1cblxuLy8gTmFzY29uZG8gaWwgbWVudSBhbW1pbmlzdHJhdGl2byBzdSB0YWJsZXQgZSBjZWxsdWxhcmVcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgYm9keS50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLXZlcnRpY2FsLnRvb2xiYXItZml4ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIGJvZHkuYWRtaW5pbWFsLWFkbWluLXRvb2xiYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuLy8gTmFzY29uZG8gbGUgbGFiZWwgZGVsbGUgc2VsZWN0IFxuLmpzLWZvcm0tdHlwZS1zZWxlY3QgbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufSIsIiRmb250SWNvbk5hbWU6ICdpbnRlcnB1bXAnO1xuJGZvbnRJY29uVmVyc2lvbjogJzE0Mjg2MDA4JztcbiR0aGVtZUljb25zOiAoXG4gIG1vcmUtaG9yaXo6ICdcXGU4MDAnLCAvKiAn7qCAJyAqL1xuICBtaW5pbWl6ZTogJ1xcZTgwMScsIC8qICfuoIEnICovXG4gIG1vcmU6J1xcZTgwMicsIC8qICfuoIInICovXG4gIHRpY2tldDogJ1xcZTgwMycsIC8qICfuoIMnICovXG4gIHRpbWVyOiAnXFxlODA0JywgLyogJ+6ghCcgKi9cbiAgZXh0ZXJuYWwtbGluazogJ1xcZTgwNScsIC8qICfuoIUnICovXG4gIHNlYXJjaDogJ1xcZTgwNicsIC8qICfuoIYnICovXG4gIGV4cGFuZDogJ1xcZTgwNycsIC8qICfuoIcnICovXG4gIGRvd25sb2FkOiAnXFxlODA4JywgLyogJ+6giCcgKi9cbiAgZHJvcGRvd24tb3V0bGluZTogJ1xcZTgwOScsIC8qICfuoIknICovXG4gIGNoZXZyb24tdXA6ICdcXGU4MGEnLCAvKiAn7qCKJyAqL1xuICBjbG9zZTogJ1xcZTgwYicsIC8qICfuoIsnICovXG4gIGNoZXZyb24tZG93bjogJ1xcZTgwYycsIC8qICfuoIwnICovXG4gIGFycm93LWZvcndhcmQ6ICdcXGU4MGQnLCAvKiAn7qCNJyAqL1xuICBhcnJvdy1kcm9wZG93bjogJ1xcZTgwZScsIC8qICfuoI4nICovXG4gIGF1ZGlvOiAnXFxlODBmJywgLyogJ+6gjicgKi9cbiAgYXJyb3ctbGVmdDogJ1xcZTgxMCcsIC8qICfuoJAnICovXG4gIHBkZjogJ1xcZTgxMScsIC8qICfuoJEnICovXG4gIGFycm93LWJhY2s6ICdcXGU4MTInLCAvKiAn7qCSJyAqL1xuICBhcnJvdy1yaWdodDogJ1xcZTgxMycsIC8qICfuoJMnICovXG4gIGF0dGFjaG1lbnQ6ICdcXGU4MTQnLCAvKiAn7qCUJyAqL1xuICBtaW5pLWFycm93LWRvd246ICdcXGU4MTYnLCAvKiAn7qCPJyAqL1xuICBjYWxlbmRhcjogJ1xcZTgzZicgLyogJ+6gvycgKi9cbik7XG5cbi8vIEdlbmVybyBpbCBmb250LWZhY2UgcGVyIGlsIHNldCBkaSBpY29uZVxuQGZvbnQtZmFjZSB7XG4gICRmb250VXJsOiAnLi4vZm9udHMvJyArICRmb250SWNvbk5hbWUgKyAnLycgKyAkZm9udEljb25OYW1lO1xuICBmb250LWZhbWlseTogJGZvbnRJY29uTmFtZTtcbiAgc3JjOiB1cmwoJGZvbnRVcmwgKyAnLmVvdD8nICsgJGZvbnRJY29uVmVyc2lvbik7XG4gIHNyYzogdXJsKCRmb250VXJsICsgJy5lb3Q/JyArICRmb250SWNvblZlcnNpb24gKyAnI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJGZvbnRVcmwgKyAnLndvZmYyPycgKyAkZm9udEljb25WZXJzaW9uKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgkZm9udFVybCArICcud29mZj8nICsgJGZvbnRJY29uVmVyc2lvbikgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgkZm9udFVybCArICcudHRmPycgKyAkZm9udEljb25WZXJzaW9uKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgkZm9udFVybCArICcuc3ZnPycgKyAkZm9udEljb25WZXJzaW9uICsgJyMnICsgJGZvbnRJY29uTmFtZSArICcnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIElCTSBQbGV4IFNhbnMgUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgc3JjOiBsb2NhbCgnJyksXG4gIHVybCgnLi4vZm9udHMvSUJNX1BsZXhfU2Fucy9JQk1QbGV4U2Fucy1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbn1cblxuLyogSUJNIFBsZXggU2FucyBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIHNyYzogbG9jYWwoJycpLFxuICB1cmwoJy4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXG59XG5cbi8qIElCTSBQbGV4IFNhbnMgTWVkaXVtKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gIHNyYzogbG9jYWwoJycpLFxuICB1cmwoJy4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXG59XG5cbi8qIElCTSBQbGV4IFNhbnMgTWVkaXVtIEl0YWxpYyovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICBzcmM6IGxvY2FsKCcnKSxcbiAgdXJsKCcuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLU1lZGl1bUl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIFxufVxuXG4vKiBJQk0gUGxleCBTYW5zIEJvbGQqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIHNyYzogbG9jYWwoJycpLFxuICB1cmwoJy4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIFxufSIsIi8vIERlZmluaXNjbyBnbGkgc3RpbGkgZ2VuZXJpY2kgcGVyIHNwYW4gbyBzaW1pbGkgKyBpbCBwbGFjZWhvbGRlciBkYSBlc3RlbmRlcmUgcGVyIGFwcGxpY2FyZSBnbGkgc3RpbGkgZGVsbGUgaWNvbmVcbltjbGFzc149XCJpY24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cImljbi1cIl06YmVmb3JlLFxuJWljbi06YmVmb3JlLCAlaWNvbi1zdHlsZSB7XG4gIGZvbnQtZmFtaWx5OiAjeyRmb250SWNvbk5hbWV9O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gSXRlcm8gbGUgaWNvbmUgZSBnZW5lcm8gbGUgY2xhc3NpIGRpIGNvbW9kbyBkYSB1c2FyZSBpbiBzcGFuIG8gc2ltaWxpXG5AZWFjaCAkbmFtZSwgJGNvbnRlbnQgaW4gJHRoZW1lSWNvbnMge1xuICAuaWNuLSN7JG5hbWV9OmJlZm9yZSB7IGNvbnRlbnQ6ICRjb250ZW50OyB9XG59XG5cbi8vIE1peGluIHBlciBpbnNlcmlyZSBsYXRvIHNjc3MgdW4gaWNvbmFcbi8vIEBpbmNsdWRlIGljb24oYmVmb3JlLCBuYW1lKTtcbkBtaXhpbiBpY29uKCRwb3NpdGlvbjogYmVmb3JlLCAkaWNvbjogZmFsc2UpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBib3RoIHsgJHBvc2l0aW9uOiAnYmVmb3JlLCAmOmFmdGVyJzsgfVxuXG4gICY6I3skcG9zaXRpb259IHtcbiAgICBAZXh0ZW5kICVpY29uLXN0eWxlO1xuICAgIEBpZiAkaWNvbiB7IGNvbnRlbnQ6IFwiI3ttYXAtZ2V0KCR0aGVtZUljb25zLCAkaWNvbil9XCI7IH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBvdmVybGF5KFxuICAkYmdDb2xvcjogJGJsYWNrLFxuICAkYmdPcGFjaXR5OiAwLjYsXG4gICR6SW5kZXg6IDAsXG4gICRwb3NpdGlvbjogXCJhZnRlclwiXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gICY6I3skcG9zaXRpb259IHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmdDb2xvciwgJGJnT3BhY2l0eSk7XG4gICAgei1pbmRleDogJHpJbmRleDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiaHRtbDpub3QoLmZyb250cGFnZSkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogIzQ2YjM4NDtcbn1cblxuKjpmb2N1cyB7XG4gIG91dGxpbmU6IDAgbm9uZTtcbn1cblxuYm9keSB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAmLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8vIFN0aWxpIGNvbXVuaSBwZXIgaW1tYWdpbmkgZGkgc2ZvbmRvXG4uYmdDb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYmdDb3ZlckFicyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIEBleHRlbmQgLmJnQ292ZXI7XG59XG5cbi8qIEVsZXZhdGlvbnMgKi9cbi5lbGV2YXRpb24tYmFzZSB7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG59XG5cbi5lbGV2YXRpb24tMDAge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmVsZXZhdGlvbi0wMSB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTAyIHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMDMge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmVsZXZhdGlvbi0wNCB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTA2IHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTA4IHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTA5IHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCA5cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTEyIHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCAxMnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmVsZXZhdGlvbi0xNiB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggMTZweCAyNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMjQge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDI0cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi51bmRlcmxpbmVkLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB0b3A6IDE0cHg7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgfVxufVxuXG4vKiogTGlua3MgKiovXG5hIHtcbiAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICYubGluay1kb3dubG9hZCxcbiAgJi5saW5rLWV4dGVybmFsLFxuICAmLmxpbmstZW1haWwsXG4gICYubGluay1pY29uIHtcbiAgICBAZXh0ZW5kIC5ib2R5LXhzO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDlweCAxMnB4IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB9XG5cbiAgICAvLyBIb3ZlclxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxpbmstZG93bmxvYWQsXG4gICYubGluay1leHRlcm5hbCxcbiAgJi5saW5rLWVtYWlsIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA0N3B4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDdweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gICYubGluay1kb3dubG9hZCxcbiAgJi5wZGYtaWNvbiB7XG4gICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIHBkZik7XG4gIH1cblxuICAmLmxpbmstZXh0ZXJuYWwge1xuICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBleHRlcm5hbC1saW5rKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gIH1cblxuICAmLmxpbmstZW1haWwge1xuICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBleHRlcm5hbC1saW5rKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9IC8vVE9ETyBNQU5DQSBJQ09OQSBFTUFJTFxuICB9XG5cbiAgJi5saW5rLW1vcmUge1xuICAgIEBleHRlbmQgLnVuZGVybGluZWQtdGV4dDtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS15ZWxsb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5saW5rLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgcGFkZGluZzogMTZweCA1NnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubGluay1pY29uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLyogU2VwYXJhdG9ycyAqL1xuXG4uc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zZXBhcmF0b3ItYm90dG9tIHtcbiAgQGV4dGVuZCAuc2VwYXJhdG9yO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gIH1cbn1cblxuLnNlcGFyYXRvci1ib3R0b20tc21hbGwge1xuICBAZXh0ZW5kIC5zZXBhcmF0b3ItYm90dG9tO1xuXG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOiAzNXB4O1xuICB9XG59XG5cbi8vIFZpZGVvIEhvbWVwYWdlIGNvbiBHU0FQXG4udmlkZW8td3JhcHBlciB7XG5cbiAgLnZpZGVvLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIH1cbiAgfVxuXG4gICN2aWRlby1ob21lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnZpZGVvLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IDY4cHg7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICA+IHAgPiBkaXYge1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2Nyb2xsIGRvd24gaWNvblxuLnNjcm9sbC1kb3duIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcblxuICBAaW5jbHVkZSBpY29uKGFmdGVyLCBtaW5pLWFycm93LWRvd24pIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGFuaW1hdGlvbjogc2Nyb2xsRG93bkluZmluaXRlIDEuNXMgaW5maW5pdGU7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gIH1cbn1cblxuLy8gRWxlbWVudGkgYWxsJ2ludGVybm8gZGVsIGNhbXBvIHRlc3RvIHN0YW5kYXJkXG4uZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtYm9keSB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IC8qIFJpbXVvdmUgaSBjZXJjaGlldHRpIHByZWRlZmluaXRpICovXG4gICAgcGFkZGluZzogMDsgLyogUmltdW92ZSBpbCBwYWRkaW5nIHByZWRlZmluaXRvIGRlbGwnZWxlbmNvICovXG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIGxlZnQ6IC0yNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIH1cbiAgfVxufVxuXG4uYmFzaWMtaWNvbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8vIFJpZ2hlIHBlciBsaXN0YSBkb2N1bWVudGlcbi5jdXN0b20tcm93LXdyYXBwZXIge1xuICBjb2xvcjogJGJsYWNrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5jdXN0b20tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmN1c3RvbS10aXRsZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tLWljb24ge1xuICAgICAgQGV4dGVuZCAuYmFzaWMtaWNvbjtcblxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBwZGYpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tdGl0bGUge1xuICAgICAgQGV4dGVuZCAuYm9keS1tO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICBzcGFuLCAuZmllbGQtLW5vZGUtZmllbGQtc3VidGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tZGF0ZSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmF1ZGlvIC5jdXN0b20tcm93IC5jdXN0b20taWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiI3ttYXAtZ2V0KCR0aGVtZUljb25zLCBhdWRpbyl9XCI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgLmN1c3RvbS1pY29uIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgfVxuICAgIH1cbiAgICAuY3VzdG9tLXRpdGxlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlIHN1Ym1pdCBidXR0b25cbmZvcm1bZGF0YS1iZWYtYXV0by1zdWJtaXRdIHtcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIEZhbmN5Ym94IE1vZGFsc1xuLm1vZGFsLW1pbmljYXJkLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiA2NHB4O1xuICAuZmFuY3lib3gtYnV0dG9uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICB9XG5cbiAgLm1vZGFsLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgIC5tZWRpYS1saW5rIHtcbiAgICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEljb25lIHBlciB0YWJlbGxhXG4udGV4dC10by1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gICYuY2hlY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvY2hlY2sucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuLnRleHQtY2hlY2staWNvbiB7XG4gIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG4vLyBUYWJzXG4udGFicyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbi50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDtcbn1cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG59XG4uc2Nyb2xsZXItdGFibGUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5pZnJhbWUge1xuICB3aWR0aDogMXB4O1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4iLCIuaC14eGwsXG4uaC14bCxcbi5oLWwsXG4uaC1tLFxuLmgtcyxcbi5oLXhzIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgb3BhY2l0eTogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbn1cblxuLmJvZHktbCxcbi5ib2R5LW0sXG4uYm9keS1zLFxuLmJvZHkteHMge1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xufVxuXG4vKipcbiAqIFNwZXJpbWVudGFsZVxuICogU2kgcG9zc29ubyBzZXBjaWZpY2FyZSBpIHRhZyBoWCBlIHAgbyB1bmEgY2xhc3NlIGN1c3RvbS5cbiAqL1xuJG92ZXJyaWRlZC10YWdzOiAoXCJoMVwiLCBcImgyXCIsIFwiaDNcIiwgXCJoNFwiLCBcImg1XCIsIFwiaDZcIiwgXCJwXCIsIFwiYVwiKTtcbiRyZXNwb25zaXZlLXJ1bGVzOiAoXG4gIGgteHhsOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2NCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2NCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDY4KSxcbiAgICApLFxuICApLFxuICBoLXhsOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MiksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MiksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU2KSxcbiAgICApLFxuICApLFxuICBoLWw6IChcbiAgICBzbWFsbDogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KSxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KSxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpLFxuICAgICksXG4gICksXG4gIGgtbTogKFxuICAgIHNtYWxsOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpLFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApLFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NiksXG4gICAgKSxcbiAgKSxcbiAgaC1zOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMiksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM4KSxcbiAgICApLFxuICApLFxuICBoLXhzOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMiksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICApLFxuICBib2R5LWw6IChcbiAgICBzbWFsbDogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApLFxuICAgICksXG4gICksXG4gIGJvZHktbTogKFxuICAgIHNtYWxsOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpLFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpLFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNiksXG4gICAgKSxcbiAgKSxcbiAgYm9keS1zOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcbiAgICApLFxuICApLFxuICBib2R5LXhzOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcbiAgICApLFxuICApLFxuKTtcblxuLmZvbnQtd2hpdGUge1xuICBjb2xvcjogJHdoaXRlO1xufVxuLmZvbnQtZ3JlZW4ge1xuICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG59XG4jbWFpbi5jb2x1bW5zIHtcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB9XG59XG5cbi8vIFN0aWxpIGN1c3RvbSBwZXIgc29sbyBpbCBtYWluIGNvbnRlbnRcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB7XG4gIC8vIFN0aWxpIGxpbmtzXG4gIGEjbWFpbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gU3RpbGkgdGFiZWxsZVxuICAudGFibGUtc2Nyb2xsZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICB0aGVhZCB7XG4gICAgICB0ciB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU3RpbGUgZWxlbmNoaSwgc29sbyBpbiBjYW1waSBXWVNJV1lHXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sge1xuICAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSxcbiAgLmZpZWxkLXR5cGUtdGV4dC1sb25nIHtcbiAgICB1bDpub3QoLm5vc3R5bGUpLFxuICAgIG9sIHtcbiAgICAgICY6bm90KC5jb250ZXh0dWFsLWxpbmtzKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHVsOm5vdCgubm9zdHlsZSkge1xuICAgICAgJjpub3QoLmNvbnRleHR1YWwtbGlua3MpIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgLy8gVE9ETyAtIEV2ZW50dWFsZSBpY29uYVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb3VudGVyLXJlc2V0OiBvbExpO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sTGk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2xMaSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU3RpbGkgcGVyIGxpbmsgZSBib3R0b25pXG4uY3RhQnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnkteWVsbG93O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cbiIsIi8qKlxuICogR2VzdGlvbmUgY29uZmlndXJhemlvbmUgZWxlbWVudGkgcmVzcG9uc2l2ZVxuICoqL1xuICRzZWxlY3RvcjogJyc7XG4gQGVhY2ggJG5hbWUsICRzaXplcyBpbiAkcmVzcG9uc2l2ZS1ydWxlcyB7XG4gICBAZWFjaCAkc2l6ZSwgJHByb3BlcnRpZXMgaW4gJHNpemVzIHtcbiAgICAgQGlmIGluZGV4KCRvdmVycmlkZWQtdGFncywgJG5hbWUpICE9IG51bGwge1xuICAgICAgICRzZWxlY3RvcjogXCIjeyRuYW1lfSwgLiN7JG5hbWV9XCI7XG4gICAgIH0gQGVsc2Uge1xuICAgICAgICRzZWxlY3RvcjogXCIuI3skbmFtZX1cIjtcbiAgICAgfVxuICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgICB9XG4gICB9XG4gfSIsIi8qKlxuICogR2VzdGlvbmUgaGFtYnVyZ2VyIG1lbnVcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXG4gKiBEZW1vIHN0aWxpOiBodHRwczovL2thcG9rby5naXRodWIuaW8vZGVsaWNpb3VzLWhhbWJ1cmdlcnMvXG4gKiBJbnN0YWxsYXRhIHRyYW1pdGUgbnBtXG4gKi9cblxuLy8gUHVudG8gcGVyIGN1c3RvbWl6emF6aW9uZS5cbi8vIFNpIHZlZGEgbGEgZG9jIHVmZmljaWFsZSBwZXIgbGEgbGlzdGEgZGVsbGUgdmFyaWFiaWxpIGNoZSDDqCBwb3NzaWJpbGUgc292cmFzY3JpdmVyZVxuJGhhbWJ1cmdlci1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4kaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTogJHByaW1hcnktZ3JlZW47XG4kaGFtYnVyZ2VyLXNpemU6IDQwcHg7IC8vIFNldCBib3RoIHdpZHRoIGFuZCBoZWlnaHRcblxuQGltcG9ydCBcImhhbWJ1cmdlcnMvaGFtYnVyZ2Vyc1wiOyIsIi8qIVxyXG4gKiBkZWxpY2lvdXMtaGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gQmVhdXRpZnVsIFNBU1MgcG93ZXJlZCBoYW1idXJnZXIgbWVudSB0b2dnbGUgYnV0dG9uc1xyXG4gKiBAYXV0aG9yIEthc3BlciBLb21hblxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcImJhc2VcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZGVmYXVsdFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jcmlzcy1jcm9zc1wiO1xyXG4vKlxyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcHBsZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcnJvd1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcnJvdy1yaWdodFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zcGluXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL2NvbGxhcHNlXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL21pbmltYWxcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZGl2ZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zdGFja1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jb252ZXJnZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy90d2lzdFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9tYWduZXRpY1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jaG9wXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3BhcmFsbGVsXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3ZlcnRpY2FsXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3B1c2hcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZmxhdHRlblwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zaW1wbGVcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvc2hlbGZcIjsqL1xyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbkBtaXhpbiBoYW1idXJnZXItYmFyKCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1iYXItYm9yZGVyLXJhZGl1cztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci10aGlja25lc3M7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5idXR0b24uI3skaGFtYnVyZ2VyLWNsYXNzLW5hbWV9IHtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItc2l6ZTtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aDtcbn1cblxuZGl2LiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfSB7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLXNpemUgLSAoJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aCAtICgkaGFtYnVyZ2VyLWJvcmRlci13aWR0aCAqIDIpO1xuXG4gICAgPiAuaW5uZXIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG59XG5cbi4jeyRoYW1idXJnZXItY2xhc3MtbmFtZX0ge1xuICAgICRiYXNlLXRyYW5zaXRpb25zOiBvcGFjaXR5ICRoYW1idXJnZXItb3BhY2l0eS10cmFuc2l0aW9uLXNwZWVkICRoYW1idXJnZXItZWFzaW5nLFxuICAgICAgICBiYWNrZ3JvdW5kICRoYW1idXJnZXItYmFja2dyb3VuZC10cmFuc2l0aW9uLXNwZWVkICRoYW1idXJnZXItZWFzaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggJGhhbWJ1cmdlci1ib3JkZXItY29sb3Igc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLW9wYWNpdHk7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGxpc3QuYXBwZW5kKCRiYXNlLXRyYW5zaXRpb25zLCAkaGFtYnVyZ2VyLWV4dHJhLXRyYW5zaXRpb24tcnVsZXMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1vcGFjaXR5LWhvdmVyO1xuXG4gICAgICAgIHNwYW4uYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItY29sb3ItaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5pbm5lcixcbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5pbm5lcixcbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogbWF0aC5kaXYoLSRoYW1idXJnZXItdGhpY2tuZXNzLCAyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuLmJhciB7XG4gICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlci1iYXI7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgdG9wOiAtJGhhbWJ1cmdlci1iYXItc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1iYXItc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gVmFyaWFibGVzXG4kaGFtYnVyZ2VyLWNsYXNzLW5hbWU6IFwiaGFtYnVyZ2VyXCIgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lOiBcImFjdGl2ZVwiICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci13aWR0aDogJGhhbWJ1cmdlci1zaXplICFkZWZhdWx0O1xuJGhhbWJ1cmdlci10aGlja25lc3M6IDJweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWNvbG9yLWhvdmVyOiAkaGFtYnVyZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1jb2xvci1hY3RpdmU6ICRoYW1idXJnZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWFjdGl2ZTogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWhvdmVyOiAkaGFtYnVyZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQtdHJhbnNpdGlvbi1zcGVlZDogMC4ycyAhZGVmYXVsdDtcbiRoYW1idXJnZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5LWhvdmVyOiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5LXRyYW5zaXRpb24tc3BlZWQ6IDAuMnMgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmc6IG1hdGgucm91bmQobWF0aC5kaXYoJGhhbWJ1cmdlci1zaXplLCAxMCkpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYXItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFyLXNwYWNpbmc6IG1hdGgucm91bmQobWF0aC5kaXYoJGhhbWJ1cmdlci1zaXplLCA1KSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZDogMSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZXh0cmEtdHJhbnNpdGlvbi1ydWxlczogJiAhZGVmYXVsdDtcblxuLy8gQW5pbWF0aW9uIHR5cGVzLiBVc2UgdGhpcyBhcyBhIHZhcmlhYmxlIGFuZCByZW1vdmUgdGhlIGFuaW1hdGlvbnNcbi8vIHlvdSBkb24ndCBuZWVkIHNvIHRoZXkgd29uJ3QgZ2V0IGNvbXBpbGVkIGluIHlvdXIgY3NzLlxuJGhhbWJ1cmdlci1hbmltYXRpb25zOiAoXG4gICAgXCJhcHBsZVwiLFxuICAgIFwiYXJyb3dcIixcbiAgICBcImFycm93LXJpZ2h0XCIsXG4gICAgXCJjb2xsYXBzZVwiLFxuICAgIFwiY29udmVyZ2VcIixcbiAgICBcImNyaXNzLWNyb3NzXCIsXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJkaXZlXCIsXG4gICAgXCJtaW5pbWFsXCIsXG4gICAgXCJzcGluXCIsXG4gICAgXCJzdGFja1wiLFxuICAgIFwidHdpc3RcIixcbiAgICBcIm1hZ25ldGljXCIsXG4gICAgXCJjaG9wXCIsXG4gICAgXCJwYXJhbGxlbFwiLFxuICAgIFwidmVydGljYWxcIixcbiAgICBcInB1c2hcIixcbiAgICBcImZsYXR0ZW5cIixcbiAgICBcInNpbXBsZVwiLFxuICAgIFwic2hlbGZcIlxuKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFyLXNpemU6ICRoYW1idXJnZXItc2l6ZSAtICgkaGFtYnVyZ2VyLXBhZGRpbmcgKiAyKSAtICgkaGFtYnVyZ2VyLWJvcmRlci13aWR0aCAqIDIpO1xuJGhhbWJ1cmdlci1lYXNpbmc6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZWFzaW5nLWluOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZWFzaW5nLW91dDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgIWRlZmF1bHQ7XG5cbi8vIFwiQ29uc3RhbnRzXCJcbiRyb290LXR3bzogbWF0aC5zcXJ0KDIpO1xuIiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AaWYgaW5kZXgoJGhhbWJ1cmdlci1hbmltYXRpb25zLCBkZWZhdWx0KSB7XG4gICAgLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfS0tZGVmYXVsdCB7XG4gICAgICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgICAgICBzcGFuLmJhciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbkBpZiBpbmRleCgkaGFtYnVyZ2VyLWFuaW1hdGlvbnMsIGNyaXNzLWNyb3NzKSB7XG4gICAgLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfS0tY3Jpc3MtY3Jvc3Mge1xuICAgICAgICAkb2Zmc2V0LXk6IG1hdGguZGl2KG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpLCAkcm9vdC10d28pO1xuICAgICAgICAkb2Zmc2V0LXg6IG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpIC0gJG9mZnNldC15O1xuXG4gICAgICAgID4gLmlubmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXItYmFyO1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZyxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgLSRvZmZzZXQteSwgMCkgc2NhbGVYKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtJG9mZnNldC14LCAkb2Zmc2V0LXksIDApIHNjYWxlWCgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXRoLmRpdigwLjFzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmJhciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSBtYXRoLmRpdigwLjRzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcsXG4gICAgICAgICAgICAgICAgb3BhY2l0eSBtYXRoLmRpdigwLjRzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcsXG4gICAgICAgICAgICAgICAgd2lkdGggbWF0aC5kaXYoMC40cywgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpICRoYW1idXJnZXItZWFzaW5nO1xuXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMyArICgkaSAqIDAuMDNzKSwgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgICAgICA+IC5pbm5lciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgLSRvZmZzZXQteSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgJG9mZnNldC15LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogbWF0aC5kaXYoMC41cywgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogbWF0aC5kaXYoMHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMnMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMXMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEdlc3Rpb25lIG91dGRhdGVkIGJyb3dzZXJcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vbWlrZW1hY2NhbmEvb3V0ZGF0ZWQtYnJvd3Nlci1yZXdvcmtcbiAqIERlbW86IGh0dHBzOi8vbWlrZW1hY2NhbmEuZ2l0aHViLmlvL291dGRhdGVkLWJyb3dzZXItcmV3b3JrL1xuICovXG5cbiAjb3V0ZGF0ZWQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjRweCAyNHB4IDA7XG5cdHotaW5kZXg6IDE1MDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuXG5cdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdC52ZXJ0aWNhbC1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRoNiB7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcblx0fVxuXG5cdHAge1xuICAgIG1hcmdpbjogMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTIpO1xuXHR9XG5cblx0I2J1dHRvblVwZGF0ZUJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcblx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQubGFzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcblx0XHRyaWdodDogNzBweDtcbiAgICB3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXHR9XG5cblx0Lmxhc3RbZGlyPXJ0bF0ge1xuXHRcdGxlZnQ6IDI1cHggIWltcG9ydGFudDtcblx0XHRyaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHR9XG5cblx0I2J1dHRvbkNsb3NlVXBkYXRlQnJvd3NlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuI291dGRhdGVkLmZ1bGxzY3JlZW4geyBoZWlnaHQ6IDEwMCU7IH1cbiIsIi8qKlxuICogR2VzdGlvbmUgRmFuY3lib3hcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vZmFuY3lhcHBzL2ZhbmN5Ym94XG4gKiBEb2N1bWVudGF6aW9uZTogaHR0cHM6Ly9vYnUuZWR1L19yZXNvdXJjZXMvbGRwL2dhbGxlcmllcy9mYW5jeWJveC9cbiAqICAgICAgICAgICAgICAgICBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAyMTAzMjUxNzA5NDAvaHR0cHM6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvZG9jcy9cbiAqL1xuXG4gLy8gRXZlbnR1YWxpIG92ZXJyaWRlIGUgY3VzdG9taXp6YXppb25pIiwiXG4vLyBQYWdpbmF0b3JlIHN0YW5kYXJkXG4vLyBjdXN0b21QYWdpbmc6IGZ1bmN0aW9uKHNsaWRlciwgaSkgeyByZXR1cm4gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG5QYWdlclwiIC8+Jyk7IH0sXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7IG1hcmdpbi1ib3R0b206IDA7IH1cbnVsLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogYXV0bztcbiAgZm9udC1zaXplOiAwO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgbWFyZ2luOiAwIDdweDtcblxuICAgIC8vIEV2aXRvIGRpIHZlZGVyZSBpbCBwYWxsaW5vIHNlIMOoIHNvbG8gdW5vXG4gICAgJjpvbmx5LWNoaWxkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmJ0blBhZ2VyIHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1hY3RpdmUgLmJ0blBhZ2VyOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi8vIEZyZWNjZSBzdGFuZGFyZFxuLy8gPGRpdiBjbGFzcz1cInNsaWNrLXByZXZcIj48c3BhbiBjbGFzcz1cImljbi1hcnJvdy1zaW1wbGUtbGVmdFwiPjwvc3Bhbj48L2Rpdj5cbi5zbGljay1hcnJvdyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB6LWluZGV4OiAyO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYmxhY2s7IH1cblxuICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OztcbiAgICB9XG4gIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1wcmV2IHt9XG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHNwYW4geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG59XG5cblxuXG5cbi8vIFNsaWNrIHNsaWRlIGFsbGEgc3Rlc3NhIGFsdGV6emFcbi8vIC5zbGljay10cmFjayB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuLy8gLnNsaWNrLXNsaWRlIHsgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjMwcHg7XG4gIFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAqIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG5cbiAgLy8gSW4gY2FzbyBkaSBzZWxlY3Qgc2luZ29sYVxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggODBweCAyMHB4IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEluIGNhc28gZGkgc2VsZWN0IG11bHRpcGxhXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIHBhZGRpbmc6IDVweCAzMHB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIC8vIFBsYWNlaG9sZGVyXG4gICAgbGkuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gICAgICBtYXJnaW46IDVweCA1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVsZW1lbnRpIHNlbGV6aW9uYXRpXG4gICAgbGkuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgICBtYXJnaW46IDVweCA1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbmEgbGF0ZXJhbGVcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgLmRyb3Bkb3duLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgZHJvcGRvd24tb3V0bGluZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgICAuZHJvcGRvd24td3JhcHBlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICBwYWRkaW5nOiA2cHggMjBweDtcblxuICAgICAgJi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgICYuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuaXViX2NvbnRhaW5lciB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhZ2VNZXRhSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBAZXh0ZW5kIC5ib2R5LXhzO1xuXG4gIC5tZXRhSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkbWV0YUhlYWRlci1oZWlnaHQ7XG5cbiAgICAubWV0YUhlYWRlci1sZWZ0IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgLnN0b2NrLWV4cGVydCB7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG5cbiAgICAgICAgaHRtbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXRhSGVhZGVyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHVsLm1lbnUge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaGVhZGVyLnBhZ2VIZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDc1cHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogMDtcblxuICAmLmRyb3Bkb3duLW9wZW4ge1xuICAgIC5oZWFkZXJNYWluIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAubWVudS5kcm9wZG93biA+IGxpOm5vdCguYWN0aXZlLXRyYWlsKSA+IGE6bm90KDpob3ZlciksXG4gICAgICAuc2VhcmNoLW1vZGFsLWJ1dHRvbjpub3QoOmhvdmVyKSxcbiAgICAgIC5sYW5ndWFnZS1saW5rOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBhLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICN0ZXh0IHtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cblxuICAmLmhlYWRyb29tLS10b3Age1xuICAgIGhlaWdodDogMTQwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaGVhZGVyTWFpbkdyaWQge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAuaGVhZGVyTWFpblJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAuY29udGV4dHVhbC1yZWdpb24ge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICoge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay10dC1mb3VuZGF0aW9uLW1haW4tbWVudSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sge1xuICAgICoge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhLnNlYXJjaC1tb2RhbC1idXR0b24ge1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgc2VhcmNoKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGNsb3NlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAvLyBQZXIgdXRlbnRlIGxvZ2dhdG8sIHBlciBldmVudHVhbGUgaGVhZHJvb21cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAudG9vbGJhci12ZXJ0aWNhbCAmLmhlYWRyb29tLS10b3Age1xuICAgICAgdG9wOiAzOXB4O1xuICAgIH1cbiAgICAubW0tb3BlbmluZyAudG9vbGJhci12ZXJ0aWNhbCAmLmhlYWRyb29tLS10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAudG9vbGJhci1maXhlZCAmLFxuICAgIC50b29sYmFyLWhvcml6b250YWwgJixcbiAgICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICB0b3A6IDM5cHg7XG4gICAgfVxuICAgIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICB0b3A6ICRhZG1pbi10b29sYmFyLWhlaWdodDtcbiAgICB9XG5cbiAgICAmLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICAgIC50b29sYmFyLWZpeGVkICYsXG4gICAgICAudG9vbGJhci1ob3Jpem9udGFsICYsXG4gICAgICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICAgIHRvcDogMzlweDtcbiAgICAgIH1cbiAgICAgIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICAgIHRvcDogJGFkbWluLXRvb2xiYXItaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICogU3RpbGkgY29tdW5pIHBlciBjb21wb3J0YW1lbnRvIGFwZXJ0byBlIHNjcm9sbFxuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwLFxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duLFxuaGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgLnBhZ2VNZXRhSGVhZGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC5oZWFkZXJNYWluR3JpZCB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG5cbiAgYS5sb2dvIHN2ZyB7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICB9XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCBkb3duXG4gKiAtIE5hc2NvbmRvIGxhIGJhcnJhIGluIGFsdG8gZGVpIGZvbGxvd1xuICogLSBSaWR1Y28gbGEgZGltZW5zaW9uZSBkZWwgbG9nbyBlIGxvIHNwYXppb1xuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDBweCk7XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCB1cFxuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgkYmxhY2ssIDAuMik7XG5cbiAgYTpub3QoW3JvbGU9XCJtZW51aXRlbVwiXSk6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiA3NXB4O1xuICB9XG59XG5cbi5oYW1idXJnZXIge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIHtcbiAgaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICBhOm5vdChbcm9sZT1cIm1lbnVpdGVtXCJdKTpub3QoOmhvdmVyKSB7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYS5sb2dvIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgICN0ZXh0IHtcbiAgICAgICAgICBmaWxsOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xhc3NpIGN1c3RvbSBwZXIgaW50ZXJyb21wZXJlIGwnb3ZlcmZsb3dcbmJvZHkuc3RvcE92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmJvZHkuc3RvcE92ZXJmbG93WCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbmJvZHkuc3RvcE92ZXJmbG93WSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLy8gU3BhemlvIGN1c3RvbSBzdSB0dXR0ZSBsZSBwYWdpbmUgZG92ZSBub24gw6ggYW5udWxsYXRvXG5ib2R5ICNtYWluLnBhZ2VNYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkaGVhZGVyLWhlaWdodCArICRtZXRhSGVhZGVyLWhlaWdodDsgLy8gQWx0ZXp6YSBkaSBoZWFkZXIucGFnZUhlYWRlclxuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDbGFzc2UgY3VzdG9tIG5lbCBib2R5IHBlciByaW11b3ZlcmUgbG8gc3BhemlvIGluIGFsdG9cbmJvZHkubm9Ub3BTcGFjZSAjbWFpbi5wYWdlTWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIvLyBOYXNjb25kbyBtbWVudSBmaW5jaMOoIG5vbiBhdnZpYXRvXG4jbW9iaWxlLW1lbnUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcblxuICAmLm1tLW1lbnUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIFN0aWxpenphemlvbmUgbW1lbnVcbi5tbS1tZW51IHtcbiAgJi5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICAgIG1hcmdpbi10b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0O1xuICB9XG5cbiAgLy8gU2ZvbmRvIHBhbm5lbGxpXG4gIC5tbS1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLm1tLWJ0bl9wcmV2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBhcnJvdy1iYWNrKSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rIGRpIG5hdmlnYXppb25lXG4gIGEsXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyLFxuICBhOmxpbmssXG4gIGE6dmlzaXRlZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmLlNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcmUgYm9yZGlcbiAgLm1tLWxpc3RpdGVtIHtcbiAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cblxuICAvLyBEaXZpc29yZSB0cmEgdGl0b2xvIGUgZnJlY2NpYVxuICAubW0tbGlzdGl0ZW1fX2J0bjpub3QoLm1tLWxpc3RpdGVtX190ZXh0KSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBQYWRkaW5nIGRlaSBsaW5rIHRlc3R1YWxpXG4gIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cblxuICAvLyBGcmVjY2lhIHBlciBsaXZlbGxpXG4gIC5tbS1idG46YWZ0ZXIsXG4gIC5tbS1idG46YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICB9XG5cbiAgLy8gVGl0b2xvIHByaW5jaXBhbGUgZSB0aXRvbG8gcGVyIGJhY2tcbiAgLm1tLW5hdmJhciB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgICAubW0tbmF2YmFyX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgI21tLTEgLm1tLW5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE5hdmJhciBpbnRlcmkgY29uIGJhcnJhIHRpdG9sb1xuICAubW0tcGFuZWxfaGFzLW5hdmJhciB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cblxuICAvLyBCYXJyYSBmb290ZXIgcGVyIGlsIGNhbWJpbyBsaW5ndWEgbW9iaWxlXG4gIC5tbS1uYXZiYXJzX2JvdHRvbSB7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgfVxuXG4gIC8vIFJlc2l6ZSBzdSBjZWxsdWxhcmVcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYSxcbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyLFxuICAgIGE6bGluayxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5tbS1uYXZiYXIgLm1tLW5hdmJhcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdSBkZXNrdG9wIGV2aXRvIGNoZSBtbWVudSB2YWRhIHNvcHJhIGFsIG1lbnUgYW1taW5pc3RyYXRpdm9cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLm1tLXBhZ2UubW0tc2xpZGVvdXQge1xuICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuYm9keS5oZWFkcm9vbS1waW5uZWQge1xuICAvLyBTcGF6aWF0dXJhIHBlciBoZWFkZXJcbiAgLm1tLW1lbnUubW0tbWVudV9mdWxsc2NyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodDtcbiAgfVxufVxuYm9keS5oZWFkcm9vbS1ub3QtdG9wLmhlYWRyb29tLXBpbm5lZCxcbmJvZHkuaGVhZHJvb20tbm90LXRvcCB7XG4gIC8vIFNwYXppYXR1cmEgcGVyIGhlYWRlclxuICAubW0tbWVudS5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICAgIG1hcmdpbi10b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYjtcbiAgfVxufVxuIiwiZm9vdGVyLnBhZ2VGb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gIHBhZGRpbmc6IDc1cHggMCA2NnB4IDA7XG5cbiAgcCxcbiAgYSB7XG4gICAgQGV4dGVuZCAuZm9udC13aGl0ZTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5mb290ZXJTdXAge1xuICB9XG4gIC5mb290ZXJTdXBBcmVhIHtcbiAgfVxuXG4gIC5mb290ZXJNaWQge1xuICB9XG4gIC5mb290ZXJNaWRMZWZ0QXJlYSB7XG4gICAgLmJvZHkge1xuICAgICAgLmNlbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9vdGVyTWlkUmlnaHRBcmVhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXJTdWIge1xuICB9XG4gIC5mb290ZXJTdWJBcmVhIHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNjZweCAwO1xuXG4gICAgcCxhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAuY2VsbExvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBHZW5lcmF6aW9uZSBjbGFzc2kgYWQgaG9jIHBlciBzcGF6aWF0dXJlIHRvcCBlIGJvdHRvbSwgYSBkaWZmZXJlbnphXG4gKiAgZGVsbGEgc29sdXppb25lIHByZWNlZGVudGUgcXVlc3RhIGdlbmVyYSBtYXJnaW4gRSBwYWRkaW5nIHBlciBvZ25pIHNwYXppYXR1cmEuXG4gKlxuICogTGUgY2xhc3NpIHNvbm8gbmVsbGEgZm9ybWEgXCJpdGVtLXNwYWNlLXRvcC0wXCJcbiAqXG4gKiBpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPlxuICpcbiAqIFZhcmlhbnRlOlxuICogLSBjb24gYmFja2dyb3VuZCBzaWEgbWFyZ2luIGNoZSBwYWRkaW5nIChpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPi1iZylcbiAqIC0gc2VuemEgYmFja2dyb3VuZCBzb2xvIG1hcmdpbiAoaXRlbS1zcGFjZS08cG9zaXRpb24+LTxpZD4pXG4gKlxuXG4gKiovXG4gJHNwYWNlczogKFxuICBzbWFsbDogKFxuICAgIDA6IDBweCxcbiAgICAxOiAxMHB4LFxuICAgIDI6IDIwcHgsXG4gICAgMzogNDBweCxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgMDogMHB4LFxuICAgIDE6IDIwcHgsXG4gICAgMjogNDBweCxcbiAgICAzOiA4MHB4LFxuICApLFxuICBsYXJnZTogKFxuICAgIDA6IDBweCxcbiAgICAxOiA0MHB4LFxuICAgIDI6IDgwcHgsXG4gICAgMzogMTIwcHgsXG4gICksXG4pO1xuXG5AZWFjaCAkYnAsICR2YWx1ZXMgaW4gJHNwYWNlcyB7XG4gIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgLy8gR2VzdGlzY28gaWwgc2luZ29sbyBicmVha3BvaW50XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgIC5pdGVtLXNwYWNlLXRvcC0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLml0ZW0tc3BhY2UtYm90dG9tLSN7JHNpemV9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuaXRlbS1zcGFjZS10b3AtI3skc2l6ZX0tYmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLml0ZW0tc3BhY2UtYm90dG9tLSN7JHNpemV9LWJnIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIEJsb2NjaGkgRHJ1cGFsIEJhc2ljIGJsb2NrXG4gKiBHZXN0aXRpIGRhIC9hZG1pbi9zdHJ1Y3R1cmUvYmxvY2svYmxvY2stY29udGVudFxuICovXG5cbiAuYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB7XG4gICAgdWwubWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgfVxuICAgIH1cbiAgfSIsIi8qKlxuICogQnJlYWRjcnVtYnNcbiAqIEJsb2NjbyBkaSBzaXN0ZW1hXG4gKi9cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICB1bC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGksIGEsIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEhlYWRlciBiYW5uZXIgY3VzdG9tXG4gKiBHZW5lcmF0byBkYSB0dF91dGlsaXRpZXMvUGx1Z2luL0Jsb2NrL0hlYWRlckJhbm5lckJsb2NrXG4gKiBTdGFtcGF0byBpbiB0dF91dGlsaXRpZXMvdGVtcGxhdGVzL2hlYWRlci1iYW5uZXItYmxvY2suaHRtbC50d2lnXG4gKi9cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5oYk1haW5XcmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgLmdyaWRCYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuYmFubmVyQ2VsbCB7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5iZ0NvdmVyQWJzOmJlZm9yZSB7IGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMyk7IH1cblxuICBoMS5wYWdlVGl0bGUgeyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAuaC14eGw7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMy5wYWdlU3VidGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAZXh0ZW5kIC5oLXM7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaGJNYWluV3JhcHBlci5iZ2RlZmF1bHQge1xuICAgIC5iZ0NvdmVyQWJzOmJlZm9yZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgaDEucGFnZVRpdGxlLFxuICAgIGgzLnBhZ2VTdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ3VzdG9taXp6YXppb25pIGluIGJhc2UgYWxsYSB0aXBvbG9naWFcbiAgLmhiSGVhZGVyVHlwZS1ub25lIC5ncmlkQmFubmVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oYkhlYWRlclR5cGUtc3RhbmRhcmQge31cbn1cblxuLy8gQ2xhc3NlIGN1c3RvbSBuZWwgYm9keSBwZXIgYXVtZW50YXJlIGwnYWx0ZXp6YSBkZWwgYmFubmVyXG5ib2R5LmhlYWRlckJpZ2dlciAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sge1xuICAuaGJNYWluV3JhcHBlciB7IHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxufVxuIiwiLyoqXG4gKiBCbG9jY28gZGVsIGNhbWJpbyBsaW5ndWFcbiovXG4uYmxvY2stbGFuZ3VhZ2Uge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgXG4gIHVsLmxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxufVxuIiwiLy8gdHRfdXRpbGl0aWVzL1BsdWdpbi9CbG9jay9UdE1hcEJsb2NrXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2VsbE1hcCxcbiAgLmNlbGxTaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIExhdG8gc2luaXN0cm8gY29uIGVsZW5jaGkgZGkgbmF2aWdhemlvbmVcbiAgLmxpc3RTaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubGlzdFBhbmVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0LCB6LWluZGV4IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xuICAgICYub2ZmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgcGFkZGluZzogMCA2MHB4IDAgNDBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBAaW5jbHVkZSBpY29uKGFmdGVyLCBhcnJvdy1mb3J3YXJkKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsc1BhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dCwgei1pbmRleCAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4ycztcblxuICAgICYub3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG5cbiAgICAuZGV0UGFuZWxCYWNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LDI0NCwyNDQsIDEpO1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBjb2xvcjogJGxpZ2h0LWdyZWVuO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRQYW5lbFdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7IC8vIHNwYXppbyBkaSAuZGV0UGFuZWxCYWNrXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIH1cblxuICAgIC5kZXRQYW5lbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgcC5jb3VudHJ5LXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkcHJpbWFyeS1ncmVlbjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgfVxuXG4gICAgLmNvdW50eURlc2Mge1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogN3B4IDA7XG4gICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgXG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsLnBsYWNlc0xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMzBweCAwIDAgMDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHMgc29saWQgJGRhcmstZ3JheTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMYXRvIGRlc3RybyBjb24gbWFwcGFcbiAgI3dvcmxkTWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAubGlzdFBhbmVsIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHNQYW5lbCB7XG4gICAgICAuZGV0UGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICB9XG5cbiAgICAgIHVsLnBsYWNlc0xpc3Qge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3dvcmxkTWFwIHtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgI3dvcmxkTWFwIHtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stc3Vic2NyaWJlLWJsb2NrIHtcbiAgLmJsb2NrLXRpdGxlIHtcbiAgICBAZXh0ZW5kIC5oLW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5ibG9jay11bnN1YnNjcmliZS1ibG9jayB7XG4gIC5ibG9jay10aXRsZSB7XG4gICAgQGV4dGVuZCAuaC1tO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi8qKlxuICogUmVnb2xlIGdlbmVyaWNoZSBwZXIgZm9ybSBlIHdlYmZvcm1cbiAqIERlZmluaXppb25pIHZhbGlkZSBwZXIgdHV0dGlcbiAqL1xuXG4vLyBQbGFjZWhvbGRlclxuOjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogTWljcm9zb2Z0IEVkZ2UgKi9cbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlZ29sZSBnZW5lcmljaGUgZGVpIHdlYmZvcm1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSxcbmZvcm0udXNlci1sb2dpbi1mb3JtLFxuLnN1YnNjcmliZS1mb3JtLFxuLnVuc3Vic2NyaWJlLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmpzLWZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmNlbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9IFxuXG4gIGxhYmVsIHtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKCRibGFjaywgLjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKCRibGFjaywgLjMpO1xuICAgIH1cbiAgICAmLmVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gIH1cblxuICBwLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICB9XG5cbiAgLy8gY2hlY2tib3ggZ2VuZXJpY2FcbiAgLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbiAgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgLy8gUXVhZHJhdG8gY2hlY2tib3hcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb25hIGNoZWNrYm94XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5lcnJvciArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCb3R0b25lIGludmlvXG4gIC5qcy1mb3JtLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFyZWEgZXJyb3JpXG4gICNzdGF0dXMtbWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgfVxuICAgIC5jYWxsb3V0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuOCk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLy8gTWVzc2FnZ2lvIGVzaXRvXG4gIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCIudXNlci1sb2dpbi1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgI2VkaXQtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn0iLCIubXNnLWRpc2NsYWltZXItZm9ybSB7XG4gICNlZGl0LWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn0iLCIubWFpbi1tZW51IHVsLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGluaXRpYWwgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcblxuICAvLyBNZW51IGl0ZW1cbiAgbGkge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAkaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJtZW51XG4gICAgLnN1Ym1lbnUtYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNDBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NCwgMjQ0LCAyNDQsIDEpO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIC5jdXN0b20tbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIHBhZGRpbmc6IDM2cHggMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9ICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBhOmFjdGl2ZSxcbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHVsLmN1c3RvbS1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgIGEsXG4gICAgICBhOmhvdmVyLFxuICAgICAgYTphY3RpdmUsXG4gICAgICBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4iLCIucGFyYWdyYXBoIHtcbiAgLy8gU3RpbGUgcGVyIHBhcmFncmFwaCBub24gcHViYmxpY2F0aVxuICAmLnBhcmFncmFwaC11bnB1Ymxpc2hlZCB7IGJhY2tncm91bmQ6IHJlZDsgfVxuXG4gIC8vIENsYXNzaSBwZXIgYW5udWxsYXJlIGxlIHNwYXppYXR1cmUgbGF0ZXJhbGlcbiAgJi5yZW1vdmVMZWZ0U3BhY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAmLnJlbW92ZVJpZ2h0U3BhY2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLyoqXG4gKiBGb3VuZGF0aW9uIEdyaWQgcGFyYWdyYXBocyArIEZvdW5kYXRpb24gQ2VsbFxuICogQmFzaWMgY2xhc3MgdG8gbWFuYWdlIHRoZSBiYWNrZ3JvdW5kXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGZvciBzZW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGltYWdlIG9uIGZ1bGx3aWR0aCBvZiB0aGUgc2NyZWVuIHlvdSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBhZ2UuaHRtbC50d2lnLlxuICogUGxlYXNlIHJlbW92ZSBhbGwgdGhlIGdyaWQtc3lzdGVtIGFuZCBsZWF2ZSB0aGUgbWFuYWdlIG9uIHRoZSBwYXJhZ3JhcGggRm91bmRhdGlvbiBHcmlkIHN5c3RlbS5cbiAqL1xuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1ncmlkIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWNlbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5ncmlkLWNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmJhY2tncm91bmREaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcblxuICAmICsgZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICYuZXhwZW5kZWRCZyB7fVxuICAmLmludGVybmFsQmcge31cblxuICAmLmNvbG9yQmcge31cbiAgJi5jb2xvckJnLW5vbmUge31cbiAgJi5jb2xvckJnLWxpZ2h0IHt9XG4gICYuY29sb3JCZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrOyB9XG5cbiAgJi5pbWFnZUJnIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuIiwiLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMge1xuICAvLyBPdmVycmlkZSBkZWkgdGFicyBzb3ByYVxuICB1bC50YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIE92ZXJyaWRlIGRlaSB0aXRvbGkgc29wcmFcbiAgICAudGFicy10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAvLyBTdGlsZSBkZWwgdGl0b2xvXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAvLyBFbGVtZW50byBzZWxlemlvbmF0b1xuICAgICAgPiBhOmhvdmVyLCA+IGE6Zm9jdXMsID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgZGVpIGNvbnRlbnV0byBzb3R0b1xuICAudGFicy1jb250ZW50IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC50YWJzLXBhbmVsIHsgcGFkZGluZzogMDsgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMsXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB7XG4gIC8vIE92ZXJyaWRlIGRlbCBiYWNrZ3JvdW5kIGRlbGwnYWNjb3JkaW9uXG4gIHVsLmFjY29yZGlvbnsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuICAuYWNjb3JkaW9uLWl0ZW0geyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuICAvLyBPdmVycmlkZSBkZWwgdGl0b2xvIGRlbGwnYWNjb3JkaW9uXG4gIC5hY2NvcmRpb24tdGl0bGV7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMTVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLypAaW5jbHVkZSBpY29uKGFmdGVyLCBwbHVzKXtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfSovXG5cbiAgICAvLyBTdGlsZSBwZXIgaG92ZXIgZSBmb2N1c1xuICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJyaWRlIHBlciBpbCB0aXRvbG8gYXBlcnRvXG4gIGxpLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIGljb24oYWZ0ZXIsIGxlc3Mpe31cbiAgICB9XG4gIH1cblxuICAvLyBPdmVycmlkZSBwZXIgaWwgY29ycG8gZGVsIGNhc3NldHRvXG4gIC5hY2NvcmRpb24tY29udGVudHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjVweCAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRlbGwndWx0aW1vIGVsZW1lbnRvIHBlciBsZSBlY2NlemlvbmkgcmVsYXRpdmUgYWkgYm9yZGlcbiAgbGkuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge31cblxufVxuXG4iLCIucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuICBwYWRkaW5nOiA1NXB4IDA7XG5cbiAgLmhpZ2hsaWdodC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG4gICAgICAmLmJvZHktbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgIFxuICAgICAgfVxuICAgIH1cblxuICAgIC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB9XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgfVxuICB9ICBcbn0iLCIucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTAwcHggMDtcblxuICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgXG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNlbGwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBcbiAgICAgICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAuc2xpZGUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDU2cHggMCAxMTdweCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNTAwcHg7ICAgICAgICBcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDEwOHB4IDBweCAxMDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMCwwLDAsIDAuMSk7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1hcnJvd3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMjUlO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cblxuICAgIC5zd2lwZXItcHJldiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGFycm93LWxlZnQpO1xuICAgIH1cblxuICAgIC5zd2lwZXItbmV4dCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBhcnJvdy1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGhlaWdodDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMjUlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIHtcbiAgLmNhcmQge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMDUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMSk7XG4gICAgICB9XG4gICAgICAuY2FyZC1jb3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG4gICAgICB9ICAgICAgICAgXG4gICAgfSAgICBcbiAgfSAgXG4gIC5jYXJkcy1oZWFkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgID4gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWNvdmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gIH1cblxuICAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXRleHQge1xuICAgIH1cbiAgICAuY2FyZC1saW5rIHtcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5saW5rLW1vcmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIHtcbiAgLnRpdGxlIHtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xuICB9XG5cbiAgLmNhdGVnb3J5IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cbiAgXG4gIC5zd2lwZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5pbWFnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgXG4gICAgICBhLFxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5pbWFnZXMge1xuICAgICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIFxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgkYmxhY2ssIC4xKTtcbiAgICAgIC5jYXJkLWNvdmVyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH0gICAgICBcbiAgICB9ICAgIFxuICB9XG4gIC5jYXJkLWNvdmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gIH0gIFxuICAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgfVxuXG4gICAgLmNhcmQtdGV4dCB7XG4gICAgfVxuXG4gICAgLmNhcmQtbGluayB7XG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAubGluay1tb3JlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyB7XG4gIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYm94LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgfVxuXG4gICAgJi5zbWFsbC1vcmRlci0xIHtcbiAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5jZWxsIHtcbiAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgICYuc21hbGwtb3JkZXItMSB7XG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5jZWxsIHtcbiAgICAgICYuYm94LWNvbnRlbnQtY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgJi5ib3gtY29udGVudC1pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWNsYWltIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQ1cHggMDtcblxuICAuY2xhaW0tY29udGVudCB7XG4gICAgd2lkdGg6IDQwJTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgIC5jbGFpbS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5jbGFpbS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIHtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG5cbiAgLmNhcmQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcblxuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmNhcmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA0NXB4IDYwcHg7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAuY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLnVuZGVybGluZWQtdGV4dDtcblxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAyNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAuaC1sO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAubGluay1idXR0b247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jYXJkLWludmVydGVkIHtcbiAgICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMDVweCA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDQwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICBcbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5jYXJkLWludmVydGVkIHtcbiAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1xdW90ZSB7XG4gICY6bm90KC53aXRoLWltYWdlKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC90aGVtZXMvY3VzdG9tL3R0X2ZvdW5kYXRpb24vaW1hZ2VzL3BhcmFncmFwaHMvcXVvdGVfYmFja2dyb3VuZC5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAgIC50ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYmx1ZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgQGV4dGVuZCAuYm9keS1zO1xuXG4gICAgICAucXVvdGUtbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnF1b3RlLW90aGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLndpdGgtaW1hZ2Uge1xuICAgIC5xdW90ZS1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhcmFncmFwaHMvcXVvdGVfYmFja2dyb3VuZF9pbWFnZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjUlIDUwJTtcbiAgICBwYWRkaW5nOiAxMjBweCAwIDcwcHggMDtcblxuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnF1b3RlLWNvbnRlbnQge1xuICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYud2l0aC1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgLnF1b3RlLWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnF1b3RlLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIFxuICAgICAgLnF1b3RlLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogUmFnZ3J1cHBhIHR1dHRpIGkgcGFyYWdyYWZpIG1pbmljYXJkPSogZXggXCJjb250YWN0c1wiICovXG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyB7XG4gIC5jb250YWN0LWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKCRibGFjaywgLjA1KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAzOXB4IDI3cHggMjlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgkYmxhY2ssIC4xKTtcbiAgICB9XG4gIH1cblxuICAud3JhcHBlci10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5uYW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIFxuICAgIC8qJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIH0qL1xuICB9XG5cbiAgLnRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpbGVzIHtcbiAgICAubWVkaWEtbGluayB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmJlZm9yZSxcbi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1zZ19jX3dyYXBwZXI6bm90KC5tc2dfY193cmFwcGVyX2Z1bGxfd2lkdGgpIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9iaWdnZXN0IHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9iaWcge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX21lZGl1bSB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfc21hbGwge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX3NtYWxsZXN0IHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zcGFjZV90b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zcGFjZV9ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tc2dfY193cmFwcGVyX3NwYWNlciwgMzVweCk7XG59XG5cbi5tc2dfY193cmFwcGVyX3NwYWNlX2JvdGgge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tc2dfY193cmFwcGVyX3NwYWNlciwgMzVweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1zZ19jX3dyYXBwZXJfc3BhY2VyLCAzNXB4KTtcbn1cblxuLm1zZ19jX3dyYXBwZXJfY29sb3JlZCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICBiYWNrZ3JvdW5kOiAkZ3JheS1mNDtcbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUge1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LDI0NCwyNDQsIDEpO1xuICBcbiAgLmNhcmRzLXRpdGxlIHtcbiAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gIH1cblxuICAuY2FyZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmNhcmQtdGV4dCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmNhcmQtbGluayB7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgLmxpbmstbW9yZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgLmNhcmRzLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzgpO1xuICAgIH1cblxuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLnRpbWVsaW5lLWltYWdlIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLXRleHQge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgLnRpbWVsaW5lLWltYWdlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuXG4gICAgICAudGltZWxpbmUtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH0gICAgICBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICBcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgLnRpbWVsaW5lLWltYWdlIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JlZW47XG4gICAgICAgIH1cbiAgXG4gICAgICAgIC50aW1lbGluZS10ZXh0IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGltZWxpbmUtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICBcbiAgICAgIC50aW1lbGluZS10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgfSAgICAgIFxuICBcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gICAgICB9XG4gIFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICRsaWdodC1ncmVlbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9ICAgIFxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLnRpbWVsaW5lLXRleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgfSBcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgLnRpbWVsaW5lLXRleHQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICAgICAgICB9XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG59XG4iLCIuYm9keSB7XG4gICYuZmllbGQtLW5vZGUtYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogRGVmaW5pemlvbmkgY29tdW5pIGEgdHV0dGUgbGUgdmlzdGVcbiAqIExlIHZpc3RlIGNoZSByaWd1YXJkYW5vIHVuIGNlcnRvIHRpcG8gZGkgY29udGVudXRvIHZhbm5vIHN0aWxpenphdGUgbmVsIHJlbGF0aXZvIGZpbGUgY29udGVudF90eXBlcy9fKi5zY3NzXG4gKi9cblxuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC5mb3JtLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4udmlld3Mtcm93LWRvY3VtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktZDE7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1kMTtcbiAgfVxufVxuXG4vLyBQYWdpbmF6aW9uZSBuZWxsZSB2aXN0ZVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHtcbiAgbmF2LnBhZ2VyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICB1bC5wYWdlcl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIEdlbmVyaWNvIGVsZW1lbnRvIGRlbCBwYWdpbmF0b3JlXG4gICAgbGkucGFnZXJfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgIEBleHRlbmQgLmJvZHktcztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGFnZXJfX2l0ZW0tLWVsbGlwc2lzIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhZ2VyX19pdGVtLS1wcmV2aW91cyxcbiAgICAgICYucGFnZXJfX2l0ZW0tLW5leHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5wYWdlcl9faXRlbS0tcHJldmlvdXMge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uKGFmdGVyLCBhcnJvdy1sZWZ0KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucGFnZXJfX2l0ZW0tLW5leHQge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uKGFmdGVyLCBhcnJvdy1yaWdodCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGFnZXJfX2l0ZW0uY3VycmVudCBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEluZmluaXRlIGxvYWRlciBwYWdlclxuLnZpZXdJbmZpbml0ZVBhZ2VkIHtcbiAgLmpzLXBhZ2VyX19pdGVtcy5pbmZpbml0ZS1wYWdlciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC8vIGEgeyBAZXh0ZW5kIGEubG9hZGVyOyB9XG4gIH1cbn1cblxuLy8gQmV0dGVyIEV4cG9zZWQgRmlsdGVyXG4uYmVmRmlsdGVycyB7XG4gIC5iZWYtZXhwb3NlZC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuXG4gICAgbGFiZWwsXG4gICAgbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmpzLWZvcm0taXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsLm9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxN3B4IDIwcHggMTFweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRibGFjaztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjBweCk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwub3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIC5mb3JtLXJhZGlvcyBsYWJlbC5vcHRpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZpZXctc2VhcmNoIHtcbiAgJi5zZWFyY2gtcGFnZSB7XG4gICAgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB9XG4gIFxuICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIEBleHRlbmQgLmN0YUJ0bjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlld3Mtcm93IHtcbiAgICAgIGFydGljbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS1kMTtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktZDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDIubm9kZS10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmgteHM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLS1zZWFyY2gtYXBpLWV4Y2VycHQge1xuICAgICAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NjbyBjb24gZmlsdHJvIGRpIHJpY2VyY2FcbiNzaXRlLXNlYXJjaC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMTQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1ncmVlbiwgLjkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoL3NlYXJjaF9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG5cbiAgLmhlYWRyb29tLW5vdC10b3AgJiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAkdG90YWwtaGVhZGVyLWhlaWdodC1tb2IpO1xuICAgIHRvcDogJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iOyAgICBcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgIC5oZWFkcm9vbS1ub3QtdG9wICYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAkdG90YWwtaGVhZGVyLWhlaWdodC1tb2IpO1xuICAgICAgdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodC1tb2I7ICAgXG4gICAgfVxuXG4gICAgLnRvb2xiYXItaG9yaXpvbnRhbCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCR0b3RhbC1oZWFkZXItaGVpZ2h0ICsgMzlweCkpO1xuICAgICAgdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodCArIDM5cHg7XG4gICAgfVxuICAgIC50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLXZlcnRpY2FsICYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoJHRvdGFsLWhlYWRlci1oZWlnaHQgKyAzOXB4KSk7XG4gICAgICB0b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0ICsgMzlweDtcbiAgICB9XG4gICAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItaG9yaXpvbnRhbCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCR0b3RhbC1oZWFkZXItaGVpZ2h0ICsgODNweCkpO1xuICAgICAgdG9wOiBjYWxjKCR0b3RhbC1oZWFkZXItaGVpZ2h0ICsgODNweCk7XG4gICAgfVxuXG4gICAgLnRvb2xiYXItaG9yaXpvbnRhbC5oZWFkcm9vbS1ub3QtdG9wICYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgMzlweCkpO1xuICAgICAgdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodC1tb2IgKyAzOXB4O1xuICAgIH1cbiAgICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbC5oZWFkcm9vbS1ub3QtdG9wICYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgMzlweCkpO1xuICAgICAgdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodC1tb2IgKyAzOXB4O1xuICAgIH1cbiAgICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci1ob3Jpem9udGFsLmhlYWRyb29tLW5vdC10b3AgJiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICgkdG90YWwtaGVhZGVyLWhlaWdodC1tb2IgKyA4M3B4KSk7XG4gICAgICB0b3A6IGNhbGMoJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgODNweCk7XG4gICAgfVxuICB9XG59XG5cbiNibG9jay10dC1mb3VuZGF0aW9uLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcblxuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMwcHg7XG4gICAgXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgcGFkZGluZzogMjZweCAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgQGV4dGVuZCAuY3RhQnRuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDE2cHggNzdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnZpZXdzLXZpZXctYXNzZW1ibGVlIHtcblxuICAuYXNzZW1ibGVhLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgPiAudmlld3Mtcm93IHtcbiAgICBhcnRpY2xlLm5vZGUtYXNzZW1ibGVhLXRlYXNlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICB9XG4gIH1cblxufSIsIi5wcmVzcy1yZWxlYXNlcyB7XG4gICYucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICYucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEtZ2FsbGVyeSB7ICBcbiAgLm1lZGlhLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYubWVkaWEtZG93bmxvYWQge1xuICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgZG93bmxvYWQpO1xuICAgICAgfVxuXG4gICAgICAmLm1lZGlhLWV4cGFuZCB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGV4cGFuZCk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS15ZWxsb3c7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLSBTVElMSSBDT05URU5VVE8gQkFTSUMgUEFHRVMgLS0tXG5cbi5wYWdlLTQwNCxcbi5wYWdlLTQwMyB7XG4gIC5wYWdlVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjAwKSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMDApICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGdyYXktZDEgIWltcG9ydGFudDtcbiAgfVxufSIsIi5wcmVzcy1yZWxlYXNlcyB7XG4gIFxuICAvLyBEaXNwbGF5OiBMYXRlc3RcbiAgJi5wcmVzcy1yZWxlYXNlcy1sYXRlc3Qge1xuICAgIC5wcmVzcy1yZWxlYXNlLWRhdGUge1xuICAgICAgICB0aW1lIHtcbiAgICAgICAgICBAZXh0ZW5kIC5ib2R5LXM7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJlc3MtcmVsZWFzZS10aXRsZSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LWw7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbjogMTZweCAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiYm9keS5wYXRoLWZyb250cGFnZSB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAjbWFpbi5wYWdlTWFpbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8vIEhFQURFUlxuICBoZWFkZXIucGFnZUhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJi5sb2dvIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAjdGV4dCB7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgICBhLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICN0ZXh0IHtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZU1ldGFIZWFkZXIge1xuICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gPiBsaSA+IGEsXG4gICAgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzID4gbGkgPiBhOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gKiBIZWFkcm9vbSAtIG1lbnUgbm9uIGF0dGFjY2F0byBpbiBwYWdpbmEgbWEgc2Nyb2xsIHVwXG4gKi9cbiAgaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuXG4gICAgLm1haW4tbWVudSB1bC5kcm9wZG93biA+IGxpID4gYTpub3QoOmhvdmVyKSxcbiAgICAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgPiBsaSA+IGE6bm90KDpob3Zlcikge1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICB0b3A6IDc1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gUEFSQUdSQVBIU1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDE4MGRlZyxcbiAgICAgICRibGFjayAwJSxcbiAgICAgIHJnYmEoMCwgODAsIDExNCwgMSkgNTAlLFxuICAgICAgcmdiYSgwLCAxNTksIDIyNywgMSkgMTAwJVxuICAgICk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLmFzc2VtYmxlZSB7XG4gIC5hc3NlbWJsZWEtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn0iLCIvLyBTZWRlIEZlcmFscGkgbmVsIG1vbmRvLCBkaXNwbGF5IEZ1bGxcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICBvcGFjaXR5OiAwO1xuXG4gICYub3BlbmVke1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAubWFya2VyLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcnsgYmFja2dyb3VuZDogJGxpZ2h0LWdyZWVuOyB9XG4gIH1cblxuICAubWFya2VyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAubWFya2VyLXRpdGxlIHtcbiAgICAgIFxuICAgIH1cblxuICAgIC5tYXJrZXItdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcmtlci1ib2R5IHtcblxuICAgIH1cblxuICAgIC5tYXJrZXItbGluayB7XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG59XG5cbmJvZHkuaXMtaWUxMSB7XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWZlcmFscGktbWFya2VyLS5ub2RlLXZpZXctbW9kZS1mdWxsIHtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1wcm9kb3R0aSAuZmllbGQtaXRlbSB7IGZsZXgtYmFzaXM6IDQ2JTsgfVxuICB9XG59XG4iLCIudmlld0V2ZW50aSxcclxuLnZpZXctZXhwLWZvcm0tc3R5bGV7XHJcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmaWVsZHNldC5maWVsZGdyb3Vwe1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuZm9ybS0taW5saW5lID4gLmZvcm0taXRlbXtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC5mb3JtLWl0ZW0teWVhcntcclxuICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWl0ZW0ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgbGVnZW5kIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZmllbGRzZXQtd3JhcHBlciB7XHJcbiAgICAgIGxhYmVsLFxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLmZvcm0tcmFkaW9ze1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICAuZm9ybS1pdGVte1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNBQkFEQUY7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ub2RlLXJvdy1ldmVudCB7XHJcbiAgLy8gRGlmZmVyZW56YSBwZXIgZXZlbnRpIHBhc3NhdGlcclxuICAmLmV2ZW50VGJkLFxyXG4gICYuZXZlbnRQYXN0IHtcclxuICAgIHNwYW5bY2xhc3NePVwiaWNuLVwiXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tcm93LXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIC5jdXN0b20taWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XHJcbiAgICAgIH1cclxuICAgICAgLmN1c3RvbS10aXRsZXtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tcm93IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20taWNvbjpob3ZlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuY3VzdG9tLXRpdGxlIHtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kMTtcclxuICAgICAgcGFkZGluZzogNHB4IDE1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLXRpdGxlLXN1cC13cmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1yaWdodC13cmFwcGVyIHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIC5jYWxlbmRhci1pY29uIHtcclxuICAgICAgQGV4dGVuZCAuYmFzaWMtaWNvbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBjYWxlbmRhcik7XHJcblxyXG4gICAgICBmbGV4LWJhc2lzOiA0MHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDYwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2FsZW5kYXItYXR0YWNoIHtcclxuICAgICAgZmxleC1iYXNpczogNjBweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYWxlbmRhci10eXBlIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDE3NXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kMTtcclxuICAgICAgcGFkZGluZzogNHB4IDE1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ldmVudC1wYXN0IHtcclxuICAgICAgLmNhbGVuZGFyLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tZGF0ZSB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDIyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3RpbGl6emF6aW9uZSBhZGRldmVudC5jb21cclxuICAuYWRkZXZlbnRhdGMge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgc3Bhbi5hZGRldmVudGF0Y19pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgfVxyXG59XHJcbiJdfQ== */
